[INFO] cloning repository https://github.com/The-Minecraft-Scientist/desparse
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/The-Minecraft-Scientist/desparse" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThe-Minecraft-Scientist%2Fdesparse", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThe-Minecraft-Scientist%2Fdesparse'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 46ebbb2ac004b5f812f3491f1d0a5656b25d8c33
[INFO] fixing The-Minecraft-Scientist/desparse against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThe-Minecraft-Scientist%2Fdesparse" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/The-Minecraft-Scientist/desparse
[INFO] finished tweaking git repo https://github.com/The-Minecraft-Scientist/desparse
[INFO] tweaked toml for git repo https://github.com/The-Minecraft-Scientist/desparse written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/The-Minecraft-Scientist/desparse on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/The-Minecraft-Scientist/desparse already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0665dd362ae28b15a2735f8410c1f0ea94b25bfe3f4ca8487451b91d6d9255ff
[INFO] running `Command { std: "docker" "start" "0665dd362ae28b15a2735f8410c1f0ea94b25bfe3f4ca8487451b91d6d9255ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0665dd362ae28b15a2735f8410c1f0ea94b25bfe3f4ca8487451b91d6d9255ff" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0665dd362ae28b15a2735f8410c1f0ea94b25bfe3f4ca8487451b91d6d9255ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0665dd362ae28b15a2735f8410c1f0ea94b25bfe3f4ca8487451b91d6d9255ff" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.67
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]    Compiling serde_json v1.0.107
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling thiserror v1.0.55
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling either v1.10.0
[INFO] [stderr]    Compiling libc v0.2.156
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking half v2.3.1
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling itertools v0.8.2
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]     Checking anstyle v1.0.7
[INFO] [stderr]     Checking debug_tree v0.4.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking thin-vec v0.2.13
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking walkdir v2.4.0
[INFO] [stderr]     Checking clap_builder v4.5.2
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]     Checking compact_str v0.8.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]    Compiling syn v2.0.37
[INFO] [stderr]     Checking rayon v1.8.1
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking clap v4.5.4
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling shrinkwraprs v0.3.0
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]    Compiling logos-codegen v0.14.0
[INFO] [stderr]    Compiling serde_derive v1.0.193
[INFO] [stderr]    Compiling thiserror-impl v1.0.55
[INFO] [stderr]    Compiling strum_macros v0.26.2
[INFO] [stderr]    Compiling logos-derive v0.14.0
[INFO] [stderr]     Checking logos v0.14.0
[INFO] [stderr]     Checking strum v0.26.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking desmoxide v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr] error: errors present after applying fixes to crate `desmoxide`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs
[INFO] [stderr]  ::: src/graph/expressions.rs
[INFO] [stderr]  ::: src/lang/ast.rs
[INFO] [stderr]  ::: src/lang/lexer.rs
[INFO] [stderr]  ::: src/lang/parser.rs
[INFO] [stderr]  ::: src/util.rs
[INFO] [stderr]  ::: src/util/macros.rs
[INFO] [stderr]  ::: src/util/multipeek.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]             --> src/lang/lexer.rs:3:23
[INFO] [stderr]              |
[INFO] [stderr]            3 | #[derive(logos::Logos + use<'s>, Debug, PartialEq, Clone, Copy)]
[INFO] [stderr]              |                       ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]             --> src/lang/lexer.rs:5:3
[INFO] [stderr]              |
[INFO] [stderr]            5 | #[logos(skip r"[ \t\n\f]+")]
[INFO] [stderr]              |   ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            6 + #[derive(Logos)]
[INFO] [stderr]            7 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]             --> src/lang/lexer.rs:9:7
[INFO] [stderr]              |
[INFO] [stderr]            9 |     #[regex(r"[0-9]*\.[0-9]+", |lex| {lex.slice().parse().ok()})]
[INFO] [stderr]              |       ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            6 + #[derive(Logos)]
[INFO] [stderr]            7 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:13:7
[INFO] [stderr]               |
[INFO] [stderr]            13 |     #[regex(r"\d+", |lex| {lex.slice().parse().ok()})]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:20:7
[INFO] [stderr]               |
[INFO] [stderr]            20 |     #[regex(r"[a-zA-Z](_\{[a-zA-Z0-9]+\})?", priority = 2)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:25:7
[INFO] [stderr]               |
[INFO] [stderr]            25 |     #[token("[")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:27:7
[INFO] [stderr]               |
[INFO] [stderr]            27 |     #[token("]")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:29:7
[INFO] [stderr]               |
[INFO] [stderr]            29 |     #[token("(")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:31:7
[INFO] [stderr]               |
[INFO] [stderr]            31 |     #[token(")")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:33:7
[INFO] [stderr]               |
[INFO] [stderr]            33 |     #[token(r"\{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:34:7
[INFO] [stderr]               |
[INFO] [stderr]            34 |     #[token("{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:36:7
[INFO] [stderr]               |
[INFO] [stderr]            36 |     #[token("}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:37:7
[INFO] [stderr]               |
[INFO] [stderr]            37 |     #[token(r"\}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:39:7
[INFO] [stderr]               |
[INFO] [stderr]            39 |     #[token(",")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:41:7
[INFO] [stderr]               |
[INFO] [stderr]            41 |     #[token(":")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:43:7
[INFO] [stderr]               |
[INFO] [stderr]            43 |     #[token("_")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:45:7
[INFO] [stderr]               |
[INFO] [stderr]            45 |     #[token("^")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:49:7
[INFO] [stderr]               |
[INFO] [stderr]            49 |     #[token(r"=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:51:7
[INFO] [stderr]               |
[INFO] [stderr]            51 |     #[token(r"≥")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:52:7
[INFO] [stderr]               |
[INFO] [stderr]            52 |     #[token(r"\ge")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:54:7
[INFO] [stderr]               |
[INFO] [stderr]            54 |     #[token(r"≤")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:55:7
[INFO] [stderr]               |
[INFO] [stderr]            55 |     #[token(r"\le")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:57:7
[INFO] [stderr]               |
[INFO] [stderr]            57 |     #[token(r">")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:58:7
[INFO] [stderr]               |
[INFO] [stderr]            58 |     #[token(r"\gt")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:60:7
[INFO] [stderr]               |
[INFO] [stderr]            60 |     #[token(r"<")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:61:7
[INFO] [stderr]               |
[INFO] [stderr]            61 |     #[token(r"\lt")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:65:7
[INFO] [stderr]               |
[INFO] [stderr]            65 |     #[token(r"\frac")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:67:7
[INFO] [stderr]               |
[INFO] [stderr]            67 |     #[token(r"\div")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:68:7
[INFO] [stderr]               |
[INFO] [stderr]            68 |     #[token("/")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:70:7
[INFO] [stderr]               |
[INFO] [stderr]            70 |     #[regex(r"\++")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:72:7
[INFO] [stderr]               |
[INFO] [stderr]            72 |     #[token("-")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:74:7
[INFO] [stderr]               |
[INFO] [stderr]            74 |     #[token(r"\cdot")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:75:7
[INFO] [stderr]               |
[INFO] [stderr]            75 |     #[token("*")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:77:7
[INFO] [stderr]               |
[INFO] [stderr]            77 |     #[token("...")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:79:7
[INFO] [stderr]               |
[INFO] [stderr]            79 |     #[token(".")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:81:7
[INFO] [stderr]               |
[INFO] [stderr]            81 |     #[token(r"\sqrt")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:83:7
[INFO] [stderr]               |
[INFO] [stderr]            83 |     #[token(r"\sum")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:85:7
[INFO] [stderr]               |
[INFO] [stderr]            85 |     #[token(r"\prod")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:87:7
[INFO] [stderr]               |
[INFO] [stderr]            87 |     #[token(r"\int")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:89:7
[INFO] [stderr]               |
[INFO] [stderr]            89 |     #[regex(r"\\frac\{d\}\{\d[a-zA-Z](_\{[a-zA-Z0-9]+\})?\}", priority = 3)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:93:7
[INFO] [stderr]               |
[INFO] [stderr]            93 |     #[token(r"\operatorname{random}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:95:7
[INFO] [stderr]               |
[INFO] [stderr]            95 |     #[token(r"\min")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:97:7
[INFO] [stderr]               |
[INFO] [stderr]            97 |     #[token(r"\max")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:99:7
[INFO] [stderr]               |
[INFO] [stderr]            99 |     #[token(r"\operatorname{count}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:101:7
[INFO] [stderr]                |
[INFO] [stderr]            101 |     #[token(r"\operatorname{total}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:103:7
[INFO] [stderr]                |
[INFO] [stderr]            103 |     #[token(r"\operatorname{length}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:105:7
[INFO] [stderr]                |
[INFO] [stderr]            105 |     #[token(r"\operatorname{join}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:107:7
[INFO] [stderr]                |
[INFO] [stderr]            107 |     #[token(r"\operatorname{sort}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:109:7
[INFO] [stderr]                |
[INFO] [stderr]            109 |     #[token(r"\operatorname{shuffle}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:111:7
[INFO] [stderr]                |
[INFO] [stderr]            111 |     #[token(r"\operatorname{unique}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:113:7
[INFO] [stderr]                |
[INFO] [stderr]            113 |     #[token(r"\operatorname{for}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:115:7
[INFO] [stderr]                |
[INFO] [stderr]            115 |     #[token(r"\sin")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:117:7
[INFO] [stderr]                |
[INFO] [stderr]            117 |     #[token(r"\cos")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:119:7
[INFO] [stderr]                |
[INFO] [stderr]            119 |     #[token(r"\tan")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:121:7
[INFO] [stderr]                |
[INFO] [stderr]            121 |     #[token(r"\csc")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:123:7
[INFO] [stderr]                |
[INFO] [stderr]            123 |     #[token(r"\sec")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:125:7
[INFO] [stderr]                |
[INFO] [stderr]            125 |     #[token(r"\cot")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:127:7
[INFO] [stderr]                |
[INFO] [stderr]            127 |     #[token(r"\sin^{-1}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:129:7
[INFO] [stderr]                |
[INFO] [stderr]            129 |     #[token(r"\cos^{-1}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:131:7
[INFO] [stderr]                |
[INFO] [stderr]            131 |     #[token(r"\tan^{-1}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:133:7
[INFO] [stderr]                |
[INFO] [stderr]            133 |     #[token(r"\csc^{-1}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:135:7
[INFO] [stderr]                |
[INFO] [stderr]            135 |     #[token(r"\sec^{-1}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:137:7
[INFO] [stderr]                |
[INFO] [stderr]            137 |     #[token(r"\cot^{-1}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:139:7
[INFO] [stderr]                |
[INFO] [stderr]            139 |     #[token(r"\operatorname{mod}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:141:7
[INFO] [stderr]                |
[INFO] [stderr]            141 |     #[token(r"\operatorname{floor}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:143:7
[INFO] [stderr]                |
[INFO] [stderr]            143 |     #[token(r"\operatorname{ceil}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:146:7
[INFO] [stderr]                |
[INFO] [stderr]            146 |     #[token(r"\infty")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:148:7
[INFO] [stderr]                |
[INFO] [stderr]            148 |     #[token(r"\left", callback = logos::skip, priority = 10000)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:149:7
[INFO] [stderr]                |
[INFO] [stderr]            149 |     #[token(r"\\left", callback = logos::skip, priority = 10000)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:150:7
[INFO] [stderr]                |
[INFO] [stderr]            150 |     #[token(r"\right", callback = logos::skip, priority = 10000)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:151:7
[INFO] [stderr]                |
[INFO] [stderr]            151 |     #[token(r"\\right", callback = logos::skip, priority = 10000)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:18:1
[INFO] [stderr]               |
[INFO] [stderr]            18 | pub struct Parser<'source> {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:15:5
[INFO] [stderr]               |
[INFO] [stderr]            15 |     source: &'source Token::Source,
[INFO] [stderr]               |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:19:5
[INFO] [stderr]               |
[INFO] [stderr]            19 |     pub lexer: MultiPeek<LexIter<'source, Token>>,
[INFO] [stderr]               |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:19:16
[INFO] [stderr]               |
[INFO] [stderr]            19 |     pub lexer: MultiPeek<LexIter<'source, Token>>,
[INFO] [stderr]               |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'source, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            note: required by a bound in `MultiPeek`
[INFO] [stderr]              --> src/util/multipeek.rs:5:25
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               |                         ^^^^^^^^ required by this bound in `MultiPeek`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:22:10
[INFO] [stderr]               |
[INFO] [stderr]            22 | impl<'a> Parser<'a> {
[INFO] [stderr]               |          ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:70:70
[INFO] [stderr]               |
[INFO] [stderr]            70 |     pub fn line_lexer(&self, line: ExpressionId) -> Result<MultiPeek<LexIter<'_, Token>>> {
[INFO] [stderr]               |                                                                      ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]              --> src/util.rs:6:27
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:23:21
[INFO] [stderr]               |
[INFO] [stderr]            23 |     pub fn new(lex: MultiPeek<LexIter<'a, Token>>) -> Self {
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]              --> src/util.rs:6:27
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:29:18
[INFO] [stderr]               |
[INFO] [stderr]            29 |     pub fn parse(&mut self) -> Result<()> {
[INFO] [stderr]               |                  ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:35:18
[INFO] [stderr]               |
[INFO] [stderr]            35 |     pub fn split(self) -> (AST, MultiPeek<LexIter<'a, Token>>) {
[INFO] [stderr]               |                  ^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:35:27
[INFO] [stderr]               |
[INFO] [stderr]            35 |     pub fn split(self) -> (AST, MultiPeek<LexIter<'a, Token>>) {
[INFO] [stderr]               |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'a, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            note: required by a bound in `MultiPeek`
[INFO] [stderr]              --> src/util/multipeek.rs:5:25
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               |                         ^^^^^^^^ required by this bound in `MultiPeek`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:39:14
[INFO] [stderr]               |
[INFO] [stderr]            39 |     fn place(&mut self, node: ASTNode) -> ASTNodeId {
[INFO] [stderr]               |              ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:42:24
[INFO] [stderr]               |
[INFO] [stderr]            42 |     fn parse_list_body(&mut self) -> Result<List> {
[INFO] [stderr]               |                        ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:85:28
[INFO] [stderr]               |
[INFO] [stderr]            85 |     fn parse_function_call(&mut self) -> Result<ThinVec<ASTNodeId>> {
[INFO] [stderr]               |                            ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:90:22
[INFO] [stderr]               |
[INFO] [stderr]            90 |     fn parse_fn_call(&mut self, vars: ThinVec<ASTNodeId>) -> Result<ThinVec<ASTNodeId>> {
[INFO] [stderr]               |                      ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:95:9
[INFO] [stderr]               |
[INFO] [stderr]            95 |         &mut self,
[INFO] [stderr]               |         ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:139:25
[INFO] [stderr]                |
[INFO] [stderr]            139 |     pub fn parse_placed(&mut self, min_bp: u8) -> Result<ASTNodeId> {
[INFO] [stderr]                |                         ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:144:23
[INFO] [stderr]                |
[INFO] [stderr]            144 |     pub fn parse_expr(&mut self, min_binding_power: u8) -> Result<ASTNode> {
[INFO] [stderr]                |                       ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]              --> src/graph/expressions.rs:71:47
[INFO] [stderr]               |
[INFO] [stderr]            71 |         Ok(MultiPeek::new(LexIter::new(Token::lexer(
[INFO] [stderr]               |                                               ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]               |
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                       candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:72:13
[INFO] [stderr]               |
[INFO] [stderr]            72 | /             self.storage
[INFO] [stderr]            73 | |                 .borrow()
[INFO] [stderr]            74 | |                 .get(&line)
[INFO] [stderr]            75 | |                 .context(format!("line with ID {} not found!", *line))?,
[INFO] [stderr]               | |_______________________________________________________________________^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]              --> src/util.rs:6:27
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:71:27
[INFO] [stderr]               |
[INFO] [stderr]            71 |         Ok(MultiPeek::new(LexIter::new(Token::lexer(
[INFO] [stderr]               |                           ^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]              --> src/util.rs:6:27
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:71:40
[INFO] [stderr]               |
[INFO] [stderr]            71 |           Ok(MultiPeek::new(LexIter::new(Token::lexer(
[INFO] [stderr]               |  ___________________________------------_^
[INFO] [stderr]               | |                           |
[INFO] [stderr]               | |                           required by a bound introduced by this call
[INFO] [stderr]            72 | |             self.storage
[INFO] [stderr]            73 | |                 .borrow()
[INFO] [stderr]            74 | |                 .get(&line)
[INFO] [stderr]            75 | |                 .context(format!("line with ID {} not found!", *line))?,
[INFO] [stderr]            76 | |         ))))
[INFO] [stderr]               | |_________^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter::<'a, T>::new`
[INFO] [stderr]              --> src/util.rs:9:13
[INFO] [stderr]               |
[INFO] [stderr]             9 | impl<'a, T: Logos<'a>> LexIter<'a, T> {
[INFO] [stderr]               |             ^^^^^^^^^ required by this bound in `LexIter::<'a, T>::new`
[INFO] [stderr]            10 |     pub fn new(lexer: Lexer<'a, T>) -> Self {
[INFO] [stderr]               |            --- required by a bound in this associated function
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:71:12
[INFO] [stderr]               |
[INFO] [stderr]            71 |           Ok(MultiPeek::new(LexIter::new(Token::lexer(
[INFO] [stderr]               |  ____________^
[INFO] [stderr]            72 | |             self.storage
[INFO] [stderr]            73 | |                 .borrow()
[INFO] [stderr]            74 | |                 .get(&line)
[INFO] [stderr]            75 | |                 .context(format!("line with ID {} not found!", *line))?,
[INFO] [stderr]            76 | |         ))))
[INFO] [stderr]               | |___________^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'_, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:71:27
[INFO] [stderr]               |
[INFO] [stderr]            71 |           Ok(MultiPeek::new(LexIter::new(Token::lexer(
[INFO] [stderr]               |  ____________--------------_^
[INFO] [stderr]               | |            |
[INFO] [stderr]               | |            required by a bound introduced by this call
[INFO] [stderr]            72 | |             self.storage
[INFO] [stderr]            73 | |                 .borrow()
[INFO] [stderr]            74 | |                 .get(&line)
[INFO] [stderr]            75 | |                 .context(format!("line with ID {} not found!", *line))?,
[INFO] [stderr]            76 | |         ))))
[INFO] [stderr]               | |__________^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'_, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]               = note: required for `LexIter<'_, Token>` to implement `IntoIterator`
[INFO] [stderr]            note: required by a bound in `MultiPeek::<T>::new`
[INFO] [stderr]              --> src/util/multipeek.rs:11:19
[INFO] [stderr]               |
[INFO] [stderr]            11 |     pub fn new<U: IntoIterator<IntoIter = T, Item = T::Item>>(val: U) -> Self {
[INFO] [stderr]               |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `MultiPeek::<T>::new`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:71:12
[INFO] [stderr]               |
[INFO] [stderr]            71 |         Ok(MultiPeek::new(LexIter::new(Token::lexer(
[INFO] [stderr]               |            ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'_, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            note: required by a bound in `MultiPeek`
[INFO] [stderr]              --> src/util/multipeek.rs:5:25
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               |                         ^^^^^^^^ required by this bound in `MultiPeek`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:193:30
[INFO] [stderr]                |
[INFO] [stderr]            193 |         let mut lexer = self.line_lexer(idx)?;
[INFO] [stderr]                |                              ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:193:25
[INFO] [stderr]                |
[INFO] [stderr]            193 |         let mut lexer = self.line_lexer(idx)?;
[INFO] [stderr]                |                         ^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:193:25
[INFO] [stderr]                |
[INFO] [stderr]            193 |         let mut lexer = self.line_lexer(idx)?;
[INFO] [stderr]                |                         ^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `multipeek_res` exists for struct `MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:194:28
[INFO] [stderr]                |
[INFO] [stderr]            194 |         let first = *lexer.multipeek_res()?;
[INFO] [stderr]                |                            ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `multipeek_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `LexIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `multipeek_res` exists for struct `MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:197:41
[INFO] [stderr]                |
[INFO] [stderr]            197 |             Token::Ident => match lexer.multipeek_res() {
[INFO] [stderr]                |                                         ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `multipeek_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `LexIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:202:31
[INFO] [stderr]                |
[INFO] [stderr]            202 |                         match lexer.borrow_mut().multipeek_res()? {
[INFO] [stderr]                |                               ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `multipeek_res` exists for mutable reference `&mut MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:202:50
[INFO] [stderr]                |
[INFO] [stderr]            202 |                         match lexer.borrow_mut().multipeek_res()? {
[INFO] [stderr]                |                                                  ^^^^^^^^^^^^^ method cannot be called on `&mut MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `LexIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:206:36
[INFO] [stderr]                |
[INFO] [stderr]            206 | ...                   if lexer.borrow_mut().multipeek().is_none() {
[INFO] [stderr]                |                          ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `multipeek` exists for mutable reference `&mut MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:206:55
[INFO] [stderr]                |
[INFO] [stderr]            206 | ...                   if lexer.borrow_mut().multipeek().is_none() {
[INFO] [stderr]                |                                             ^^^^^^^^^ method cannot be called on `&mut MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `LexIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]            note: `IteratorExt` defines an item `multipeek`, perhaps you need to implement it
[INFO] [stderr]               --> src/util/multipeek.rs:75:1
[INFO] [stderr]                |
[INFO] [stderr]             75 | pub trait IteratorExt: Iterator {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:209:33
[INFO] [stderr]                |
[INFO] [stderr]            209 | ...                   lexer.borrow_mut().catch_up();
[INFO] [stderr]                |                       ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `catch_up` exists for mutable reference `&mut MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:209:52
[INFO] [stderr]                |
[INFO] [stderr]            209 | ...                   lexer.borrow_mut().catch_up();
[INFO] [stderr]                |                                          ^^^^^^^^ method cannot be called on `&mut MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `LexIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:210:46
[INFO] [stderr]                |
[INFO] [stderr]            210 | ...                   let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                    ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:210:58
[INFO] [stderr]                |
[INFO] [stderr]            210 | ...                   let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                                ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:210:46
[INFO] [stderr]                |
[INFO] [stderr]            210 | ...                   let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                    ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:211:36
[INFO] [stderr]                |
[INFO] [stderr]            211 | ...                   pm.parse()?;
[INFO] [stderr]                |                          ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:225:21
[INFO] [stderr]                |
[INFO] [stderr]            225 |                     lexer.borrow_mut().catch_up();
[INFO] [stderr]                |                     ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `catch_up` exists for mutable reference `&mut MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:225:40
[INFO] [stderr]                |
[INFO] [stderr]            225 |                     lexer.borrow_mut().catch_up();
[INFO] [stderr]                |                                        ^^^^^^^^ method cannot be called on `&mut MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `LexIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:226:34
[INFO] [stderr]                |
[INFO] [stderr]            226 |                     let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                  ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:226:46
[INFO] [stderr]                |
[INFO] [stderr]            226 |                     let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                              ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:226:34
[INFO] [stderr]                |
[INFO] [stderr]            226 |                     let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:227:24
[INFO] [stderr]                |
[INFO] [stderr]            227 |                     pm.parse()?;
[INFO] [stderr]                |                        ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:242:26
[INFO] [stderr]                |
[INFO] [stderr]            242 |             let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                          ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:242:38
[INFO] [stderr]                |
[INFO] [stderr]            242 |             let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:242:26
[INFO] [stderr]                |
[INFO] [stderr]            242 |             let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                          ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:244:16
[INFO] [stderr]                |
[INFO] [stderr]            244 |             pm.parse()?;
[INFO] [stderr]                |                ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:246:37
[INFO] [stderr]                |
[INFO] [stderr]            246 |             let (lhs, mut lex) = pm.split();
[INFO] [stderr]                |                                     ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:248:23
[INFO] [stderr]                |
[INFO] [stderr]            248 |             match lex.next() {
[INFO] [stderr]                |                       ^^^^ method cannot be called on `MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'_, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'_, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'_, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:250:34
[INFO] [stderr]                |
[INFO] [stderr]            250 |                     let mut pm = Parser::new(lex);
[INFO] [stderr]                |                                  ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:250:46
[INFO] [stderr]                |
[INFO] [stderr]            250 |                     let mut pm = Parser::new(lex);
[INFO] [stderr]                |                                              ^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:250:34
[INFO] [stderr]                |
[INFO] [stderr]            250 |                     let mut pm = Parser::new(lex);
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:251:24
[INFO] [stderr]                |
[INFO] [stderr]            251 |                     pm.parse()?;
[INFO] [stderr]                |                        ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/graph/expressions.rs:266:43
[INFO] [stderr]                |
[INFO] [stderr]            266 | ...                   bad_token!(n, t, "determining expression type")
[INFO] [stderr]                |                                     ^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/macros.rs:7:34
[INFO] [stderr]                |
[INFO] [stderr]              7 |         anyhow::bail!("bad token {:?} at {:?}: {}", $t, $s, $msg)
[INFO] [stderr]                |                                  ---- required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                = note: this error originates in the macro `$crate::__export::format_args` which comes from the expansion of the macro `bad_token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Debug)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/lang/ast.rs:77:66
[INFO] [stderr]               |
[INFO] [stderr]            77 |                 t => bail!("token {:?} is not a simple builtin", t),
[INFO] [stderr]               |                                   ----                           ^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]               |                                   |
[INFO] [stderr]               |                                   required by this formatting parameter
[INFO] [stderr]               |
[INFO] [stderr]               = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               = note: this error originates in the macro `$crate::__export::format_args` which comes from the expansion of the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Debug)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/lang/ast.rs:87:74
[INFO] [stderr]               |
[INFO] [stderr]            87 |                 t => bail!("token {:?} does not autojoin its arguments", t),
[INFO] [stderr]               |                                   ----                                   ^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]               |                                   |
[INFO] [stderr]               |                                   required by this formatting parameter
[INFO] [stderr]               |
[INFO] [stderr]               = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               = note: this error originates in the macro `$crate::__export::format_args` which comes from the expansion of the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Debug)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/lang/lexer.rs:217:62
[INFO] [stderr]                |
[INFO] [stderr]            217 |                 t => bail!("token {:?} is not a comparison", t),
[INFO] [stderr]                |                                   ----                       ^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                   |
[INFO] [stderr]                |                                   required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                = note: required for `&Token` to implement `Debug`
[INFO] [stderr]                = note: this error originates in the macro `$crate::__export::format_args` which comes from the expansion of the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Debug)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:24:9
[INFO] [stderr]               |
[INFO] [stderr]            24 |         Self {
[INFO] [stderr]               |         ^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:25:20
[INFO] [stderr]               |
[INFO] [stderr]            25 |             lexer: lex,
[INFO] [stderr]               |                    ^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'a, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            note: required by a bound in `MultiPeek`
[INFO] [stderr]              --> src/util/multipeek.rs:5:25
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               |                         ^^^^^^^^ required by this bound in `MultiPeek`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:30:25
[INFO] [stderr]               |
[INFO] [stderr]            30 |         let root = self.parse_expr(0)?;
[INFO] [stderr]               |                         ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:43:37
[INFO] [stderr]               |
[INFO] [stderr]            43 |         let next_token = self.lexer.peek_next().context("unexpected EOF")?;
[INFO] [stderr]               |                                     ^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `peek_next` not found for this struct
[INFO] [stderr]               |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]              --> src/util.rs:16:8
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             --------     --------------
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:46:24
[INFO] [stderr]               |
[INFO] [stderr]            46 |             self.lexer.discard()?;
[INFO] [stderr]               |                        ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]               |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]              --> src/util.rs:16:8
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             --------     --------------
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `Token: Logos<'a>`
[INFO] [stderr]                       which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]               = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]               |
[INFO] [stderr]             1 + use crate::util::Discard;
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:50:32
[INFO] [stderr]               |
[INFO] [stderr]            50 |         let first_scope = self.parse_expr(0)?;
[INFO] [stderr]               |                                ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:51:37
[INFO] [stderr]               |
[INFO] [stderr]            51 |         let next_token = self.lexer.peek_next().context("unexpected EOF")?;
[INFO] [stderr]               |                                     ^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `peek_next` not found for this struct
[INFO] [stderr]               |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]              --> src/util.rs:16:8
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             --------     --------------
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/util/macros.rs:13:26
[INFO] [stderr]               |
[INFO] [stderr]            13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]               |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/parser.rs:54:13
[INFO] [stderr]               |
[INFO] [stderr]            54 |             assert_token_matches!(self.lexer, Token::RBracket);
[INFO] [stderr]               |             -------------------------------------------------- in this macro invocation
[INFO] [stderr]               |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]              --> src/util/multipeek.rs:63:6
[INFO] [stderr]               |
[INFO] [stderr]            63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]               |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]               |      |  |
[INFO] [stderr]               |      |  unsatisfied trait bound introduced here
[INFO] [stderr]               |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                       candidate #1: `Iterator`
[INFO] [stderr]                       candidate #2: `serde_json::de::Read`
[INFO] [stderr]               = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]              --> src/util/multipeek.rs:63:8
[INFO] [stderr]               |
[INFO] [stderr]            63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]               |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:58:24
[INFO] [stderr]               |
[INFO] [stderr]            58 |         vars.push(self.place(first_scope));
[INFO] [stderr]               |                        ^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:62:38
[INFO] [stderr]               |
[INFO] [stderr]            62 |                     match self.lexer.next_res()? {
[INFO] [stderr]               |                                      ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]               |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]              --> src/util.rs:16:8
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             --------     --------------
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:71:36
[INFO] [stderr]               |
[INFO] [stderr]            71 |                     vars.push(self.parse_placed(0)?);
[INFO] [stderr]               |                                    ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/util/macros.rs:13:26
[INFO] [stderr]               |
[INFO] [stderr]            13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]               |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/parser.rs:77:17
[INFO] [stderr]               |
[INFO] [stderr]            77 |                 assert_token_matches!(self.lexer, Token::RBracket);
[INFO] [stderr]               |                 -------------------------------------------------- in this macro invocation
[INFO] [stderr]               |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]              --> src/util/multipeek.rs:63:6
[INFO] [stderr]               |
[INFO] [stderr]            63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]               |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]               |      |  |
[INFO] [stderr]               |      |  unsatisfied trait bound introduced here
[INFO] [stderr]               |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                       candidate #1: `Iterator`
[INFO] [stderr]                       candidate #2: `serde_json::de::Read`
[INFO] [stderr]               = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]              --> src/util/multipeek.rs:63:8
[INFO] [stderr]               |
[INFO] [stderr]            63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]               |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/util/macros.rs:13:26
[INFO] [stderr]               |
[INFO] [stderr]            13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]               |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/parser.rs:86:9
[INFO] [stderr]               |
[INFO] [stderr]            86 |         assert_token_matches!(self.lexer, Token::LParen);
[INFO] [stderr]               |         ------------------------------------------------ in this macro invocation
[INFO] [stderr]               |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]              --> src/util/multipeek.rs:63:6
[INFO] [stderr]               |
[INFO] [stderr]            63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]               |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]               |      |  |
[INFO] [stderr]               |      |  unsatisfied trait bound introduced here
[INFO] [stderr]               |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                       candidate #1: `Iterator`
[INFO] [stderr]                       candidate #2: `serde_json::de::Read`
[INFO] [stderr]               = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]              --> src/util/multipeek.rs:63:8
[INFO] [stderr]               |
[INFO] [stderr]            63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]               |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:87:14
[INFO] [stderr]               |
[INFO] [stderr]            87 |         self.parse_fn_call(ThinVec::with_capacity(5))
[INFO] [stderr]               |              ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:91:14
[INFO] [stderr]               |
[INFO] [stderr]            91 |         self.parse_values(vars, Token::RParen)
[INFO] [stderr]               |              ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:99:37
[INFO] [stderr]               |
[INFO] [stderr]            99 |         let next_token = self.lexer.peek_next().context("unexpected EOF")?;
[INFO] [stderr]               |                                     ^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `peek_next` not found for this struct
[INFO] [stderr]               |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]              --> src/util.rs:16:8
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             --------     --------------
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:102:24
[INFO] [stderr]                |
[INFO] [stderr]            102 |             self.lexer.discard()?;
[INFO] [stderr]                |                        ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]                        which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]                |
[INFO] [stderr]              1 + use crate::util::Discard;
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:106:32
[INFO] [stderr]                |
[INFO] [stderr]            106 |         let first_scope = self.parse_expr(0)?;
[INFO] [stderr]                |                                ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:107:37
[INFO] [stderr]                |
[INFO] [stderr]            107 |         let next_token = self.lexer.peek_next().context("unexpected EOF")?;
[INFO] [stderr]                |                                     ^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:119:38
[INFO] [stderr]                |
[INFO] [stderr]            119 |                     match self.lexer.next_res()? {
[INFO] [stderr]                |                                      ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:128:36
[INFO] [stderr]                |
[INFO] [stderr]            128 |                     vars.push(self.parse_placed(0)?)
[INFO] [stderr]                |                                    ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:140:22
[INFO] [stderr]                |
[INFO] [stderr]            140 |         let s = self.parse_expr(min_bp)?;
[INFO] [stderr]                |                      ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:141:17
[INFO] [stderr]                |
[INFO] [stderr]            141 |         Ok(self.place(s))
[INFO] [stderr]                |                 ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:146:31
[INFO] [stderr]                |
[INFO] [stderr]            146 |         let next = self.lexer.next_res()?;
[INFO] [stderr]                |                               ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:156:37
[INFO] [stderr]                |
[INFO] [stderr]            156 |                 ASTNode::Unary(self.parse_placed(*Opcode::Neg.prefix_bp()?)?, UnaryOp::Neg)
[INFO] [stderr]                |                                     ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:159:31
[INFO] [stderr]                |
[INFO] [stderr]            159 |                 if self.lexer.peek_next_res()?.1 == Token::RGroup {
[INFO] [stderr]                |                               ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:160:32
[INFO] [stderr]                |
[INFO] [stderr]            160 |                     self.lexer.discard()?;
[INFO] [stderr]                |                                ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]                        which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]                |
[INFO] [stderr]              1 + use crate::util::Discard;
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:164:37
[INFO] [stderr]                |
[INFO] [stderr]            164 |                     let left = self.parse_expr(0)?;
[INFO] [stderr]                |                                     ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:165:40
[INFO] [stderr]                |
[INFO] [stderr]            165 |                     let n = self.lexer.next_res()?;
[INFO] [stderr]                |                                        ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:170:38
[INFO] [stderr]                |
[INFO] [stderr]            170 |                     let right = self.parse_expr(0)?;
[INFO] [stderr]                |                                      ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:171:21
[INFO] [stderr]                |
[INFO] [stderr]            171 |                     assert_token_matches!(self.lexer, Token::Colon);
[INFO] [stderr]                |                     ----------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:172:39
[INFO] [stderr]                |
[INFO] [stderr]            172 |                     let result = self.parse_expr(0)?;
[INFO] [stderr]                |                                       ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:174:30
[INFO] [stderr]                |
[INFO] [stderr]            174 |                         self.place(left),
[INFO] [stderr]                |                              ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:176:30
[INFO] [stderr]                |
[INFO] [stderr]            176 |                         self.place(right),
[INFO] [stderr]                |                              ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:179:36
[INFO] [stderr]                |
[INFO] [stderr]            179 |                         comp: self.place(n),
[INFO] [stderr]                |                                    ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:180:38
[INFO] [stderr]                |
[INFO] [stderr]            180 |                         result: self.place(result),
[INFO] [stderr]                |                                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:183:42
[INFO] [stderr]                |
[INFO] [stderr]            183 |                         match self.lexer.next_res()?.1 {
[INFO] [stderr]                |                                          ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:185:46
[INFO] [stderr]                |
[INFO] [stderr]            185 | ...                   let s = self.parse_placed(0)?;
[INFO] [stderr]                |                                    ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:186:50
[INFO] [stderr]                |
[INFO] [stderr]            186 | ...                   match self.lexer.peek_next_res()?.1 {
[INFO] [stderr]                |                                        ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:194:58
[INFO] [stderr]                |
[INFO] [stderr]            194 | ...                   let right = self.parse_expr(0)?;
[INFO] [stderr]                |                                        ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:196:59
[INFO] [stderr]                |
[INFO] [stderr]            196 | ...                   if self.lexer.peek_next_res()?.1 == Token::Comma {
[INFO] [stderr]                |                                     ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:199:54
[INFO] [stderr]                |
[INFO] [stderr]            199 | ...                   self.parse_expr(0)?
[INFO] [stderr]                |                            ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:204:50
[INFO] [stderr]                |
[INFO] [stderr]            204 | ...                   self.place(right),
[INFO] [stderr]                |                            ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:207:56
[INFO] [stderr]                |
[INFO] [stderr]            207 | ...                   comp: self.place(comp),
[INFO] [stderr]                |                                  ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:208:58
[INFO] [stderr]                |
[INFO] [stderr]            208 | ...                   result: self.place(result),
[INFO] [stderr]                |                                    ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:221:32
[INFO] [stderr]                |
[INFO] [stderr]            221 |                 let ret = self.parse_expr(0)?;
[INFO] [stderr]                |                                ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:222:17
[INFO] [stderr]                |
[INFO] [stderr]            222 |                 assert_token_matches!(self.lexer, Token::RParen);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:227:17
[INFO] [stderr]                |
[INFO] [stderr]            227 |                 assert_token_matches!(self.lexer, Token::LGroup);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:228:38
[INFO] [stderr]                |
[INFO] [stderr]            228 |                 let numerator = self.parse_placed(0)?;
[INFO] [stderr]                |                                      ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:229:17
[INFO] [stderr]                |
[INFO] [stderr]            229 |                 assert_token_matches!(self.lexer, Token::RGroup);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:230:17
[INFO] [stderr]                |
[INFO] [stderr]            230 |                 assert_token_matches!(self.lexer, Token::LGroup);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:231:40
[INFO] [stderr]                |
[INFO] [stderr]            231 |                 let denominator = self.parse_placed(0)?;
[INFO] [stderr]                |                                        ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:232:17
[INFO] [stderr]                |
[INFO] [stderr]            232 |                 assert_token_matches!(self.lexer, Token::RGroup);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:236:34
[INFO] [stderr]                |
[INFO] [stderr]            236 |                 match self.lexer.next_res()? {
[INFO] [stderr]                |                                  ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:239:38
[INFO] [stderr]                |
[INFO] [stderr]            239 |                         let n = self.parse_placed(0)?;
[INFO] [stderr]                |                                      ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:240:25
[INFO] [stderr]                |
[INFO] [stderr]            240 |                         assert_token_matches!(self.lexer, Token::RBracket);
[INFO] [stderr]                |                         -------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:241:25
[INFO] [stderr]                |
[INFO] [stderr]            241 |                         assert_token_matches!(self.lexer, Token::LGroup);
[INFO] [stderr]                |                         ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:242:41
[INFO] [stderr]                |
[INFO] [stderr]            242 |                         let base = self.parse_placed(0)?;
[INFO] [stderr]                |                                         ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:243:25
[INFO] [stderr]                |
[INFO] [stderr]            243 |                         assert_token_matches!(self.lexer, Token::RGroup);
[INFO] [stderr]                |                         ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:248:41
[INFO] [stderr]                |
[INFO] [stderr]            248 |                         let base = self.parse_placed(0)?;
[INFO] [stderr]                |                                         ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:249:25
[INFO] [stderr]                |
[INFO] [stderr]            249 |                         assert_token_matches!(self.lexer, Token::RGroup);
[INFO] [stderr]                |                         ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:255:51
[INFO] [stderr]                |
[INFO] [stderr]            255 |             Token::LBracket => ASTNode::List(self.parse_list_body()?).into(),
[INFO] [stderr]                |                                                   ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:257:17
[INFO] [stderr]                |
[INFO] [stderr]            257 |                 assert_token_matches!(self.lexer, Token::LParen);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:258:31
[INFO] [stderr]                |
[INFO] [stderr]            258 |                 if self.lexer.peek_next_res()?.1 == Token::RParen {
[INFO] [stderr]                |                               ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:262:33
[INFO] [stderr]                |
[INFO] [stderr]            262 |                     v.push(self.parse_placed(0)?);
[INFO] [stderr]                |                                 ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:263:38
[INFO] [stderr]                |
[INFO] [stderr]            263 |                     match self.lexer.peek_next_res()? {
[INFO] [stderr]                |                                      ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `catch_up` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:265:40
[INFO] [stderr]                |
[INFO] [stderr]            265 | ...                   self.lexer.catch_up();
[INFO] [stderr]                |                                  ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `catch_up` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]                        which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:266:41
[INFO] [stderr]                |
[INFO] [stderr]            266 | ...                   v.push(self.parse_placed(0)?);
[INFO] [stderr]                |                                   ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:271:21
[INFO] [stderr]                |
[INFO] [stderr]            271 |                     assert_token_matches!(self.lexer, Token::RParen | Token::Comma);
[INFO] [stderr]                |                     --------------------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:276:17
[INFO] [stderr]                |
[INFO] [stderr]            276 |                 assert_token_matches!(self.lexer, Token::LParen);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:277:34
[INFO] [stderr]                |
[INFO] [stderr]            277 |                 let inner = self.parse_placed(0)?;
[INFO] [stderr]                |                                  ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:278:17
[INFO] [stderr]                |
[INFO] [stderr]            278 |                 assert_token_matches!(self.lexer, Token::RParen);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:282:17
[INFO] [stderr]                |
[INFO] [stderr]            282 |                 assert_token_matches!(self.lexer, Token::LParen);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:283:33
[INFO] [stderr]                |
[INFO] [stderr]            283 |                 let arg0 = self.parse_placed(0)?;
[INFO] [stderr]                |                                 ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:284:17
[INFO] [stderr]                |
[INFO] [stderr]            284 |                 assert_token_matches!(self.lexer, Token::Comma);
[INFO] [stderr]                |                 ----------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:285:33
[INFO] [stderr]                |
[INFO] [stderr]            285 |                 let arg1 = self.parse_placed(0)?;
[INFO] [stderr]                |                                 ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:286:17
[INFO] [stderr]                |
[INFO] [stderr]            286 |                 assert_token_matches!(self.lexer, Token::RParen);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:290:32
[INFO] [stderr]                |
[INFO] [stderr]            290 |                 let arg = self.parse_function_call()?;
[INFO] [stderr]                |                                ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:298:39
[INFO] [stderr]                |
[INFO] [stderr]            298 |             let Some(a) = *self.lexer.peek_next() else {
[INFO] [stderr]                |                                       ^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:306:32
[INFO] [stderr]                |
[INFO] [stderr]            306 |                     self.lexer.discard()?;
[INFO] [stderr]                |                                ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]                        which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]                |
[INFO] [stderr]              1 + use crate::util::Discard;
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:307:21
[INFO] [stderr]                |
[INFO] [stderr]            307 |                     assert_token_matches!(self.lexer, Token::LGroup);
[INFO] [stderr]                |                     ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:308:36
[INFO] [stderr]                |
[INFO] [stderr]            308 |                     let exp = self.parse_placed(0)?;
[INFO] [stderr]                |                                    ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:309:21
[INFO] [stderr]                |
[INFO] [stderr]            309 |                     assert_token_matches!(self.lexer, Token::RGroup);
[INFO] [stderr]                |                     ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:311:48
[INFO] [stderr]                |
[INFO] [stderr]            311 |                     lhs = ASTNode::Binary(self.place(lhs), exp, BinaryOp::Pow);
[INFO] [stderr]                |                                                ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:317:32
[INFO] [stderr]                |
[INFO] [stderr]            317 |                     self.lexer.discard()?;
[INFO] [stderr]                |                                ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]                        which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]                |
[INFO] [stderr]              1 + use crate::util::Discard;
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:318:41
[INFO] [stderr]                |
[INFO] [stderr]            318 |                     let id = self.lexer.next_res()?;
[INFO] [stderr]                |                                         ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:320:36
[INFO] [stderr]                |
[INFO] [stderr]            320 |                         self.lexer.discard()?;
[INFO] [stderr]                |                                    ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]                        which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]                |
[INFO] [stderr]              1 + use crate::util::Discard;
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:329:62
[INFO] [stderr]                |
[INFO] [stderr]            329 |                         lhs = ASTNode::CoordinateAccess(self.place(lhs), a).into();
[INFO] [stderr]                |                                                              ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:338:40
[INFO] [stderr]                |
[INFO] [stderr]            338 |                         vars.push(self.place(lhs));
[INFO] [stderr]                |                                        ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:339:63
[INFO] [stderr]                |
[INFO] [stderr]            339 |                         lhs = ASTNode::new_list_fn(id.1, self.parse_fn_call(vars)?)?;
[INFO] [stderr]                |                                                               ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:347:32
[INFO] [stderr]                |
[INFO] [stderr]            347 |                     self.lexer.discard()?;
[INFO] [stderr]                |                                ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]                        which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]                |
[INFO] [stderr]              1 + use crate::util::Discard;
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:350:56
[INFO] [stderr]                |
[INFO] [stderr]            350 |                         ASTNode::List(List::Range(self.place(lhs), self.parse_placed(0)?)).into(),
[INFO] [stderr]                |                                                        ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:350:73
[INFO] [stderr]                |
[INFO] [stderr]            350 |                         ASTNode::List(List::Range(self.place(lhs), self.parse_placed(0)?)).into(),
[INFO] [stderr]                |                                                                         ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:355:32
[INFO] [stderr]                |
[INFO] [stderr]            355 |                     self.lexer.discard()?;
[INFO] [stderr]                |                                ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]                        which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]                |
[INFO] [stderr]              1 + use crate::util::Discard;
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:360:40
[INFO] [stderr]                |
[INFO] [stderr]            360 | ...                   self.lexer.peek_next().context("unexpected EOF")?
[INFO] [stderr]                |                                  ^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:364:36
[INFO] [stderr]                |
[INFO] [stderr]            364 |                         self.lexer.discard()?;
[INFO] [stderr]                |                                    ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]                        which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]                |
[INFO] [stderr]              1 + use crate::util::Discard;
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:365:25
[INFO] [stderr]                |
[INFO] [stderr]            365 |                         assert_token_matches!(self.lexer, Token::Eq);
[INFO] [stderr]                |                         -------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:366:52
[INFO] [stderr]                |
[INFO] [stderr]            366 |                         vars.push((id.into(), self.parse_placed(0)?));
[INFO] [stderr]                |                                                    ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:367:39
[INFO] [stderr]                |
[INFO] [stderr]            367 |                         if self.lexer.peek_next().context("unexpected EOF")?.1 != Token::Comma {
[INFO] [stderr]                |                                       ^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:370:40
[INFO] [stderr]                |
[INFO] [stderr]            370 | ...                   self.lexer.discard()?;
[INFO] [stderr]                |                                  ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]                        which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]                |
[INFO] [stderr]              1 + use crate::util::Discard;
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:373:61
[INFO] [stderr]                |
[INFO] [stderr]            373 |                     lhs = ASTNode::List(List::ListComp(self.place(lhs), ListCompInfo { vars }))
[INFO] [stderr]                |                                                             ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:389:28
[INFO] [stderr]                |
[INFO] [stderr]            389 |                 self.lexer.next();
[INFO] [stderr]                |                            ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:392:40
[INFO] [stderr]                |
[INFO] [stderr]            392 |                         let rhs = self.parse_placed(0)?;
[INFO] [stderr]                |                                        ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:393:46
[INFO] [stderr]                |
[INFO] [stderr]            393 |                         let tok = self.lexer.next_res()?;
[INFO] [stderr]                |                                              ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:401:46
[INFO] [stderr]                |
[INFO] [stderr]            401 | ...                   let v = self.parse_fn_call(v)?;
[INFO] [stderr]                |                                    ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:410:40
[INFO] [stderr]                |
[INFO] [stderr]            410 |                         let rhs = self.parse_placed(0)?;
[INFO] [stderr]                |                                        ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:411:25
[INFO] [stderr]                |
[INFO] [stderr]            411 |                         assert_token_matches!(self.lexer, Token::RParen);
[INFO] [stderr]                |                         ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:412:52
[INFO] [stderr]                |
[INFO] [stderr]            412 |                         lhs = ASTNode::Binary(self.place(lhs), rhs, BinaryOp::Mul).into();
[INFO] [stderr]                |                                                    ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:415:40
[INFO] [stderr]                |
[INFO] [stderr]            415 |                         let rhs = self.parse_placed(0)?;
[INFO] [stderr]                |                                        ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:416:42
[INFO] [stderr]                |
[INFO] [stderr]            416 |                         match self.lexer.next_res()?.1 {
[INFO] [stderr]                |                                          ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:417:74
[INFO] [stderr]                |
[INFO] [stderr]            417 | ...                   Token::RBracket => lhs = ASTNode::Index(self.place(lhs), rhs).into(),
[INFO] [stderr]                |                                                                    ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:421:49
[INFO] [stderr]                |
[INFO] [stderr]            421 | ...                   let args = self.parse_values(v, Token::RBracket)?;
[INFO] [stderr]                |                                       ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:423:42
[INFO] [stderr]                |
[INFO] [stderr]            423 | ...                   self.place(lhs),
[INFO] [stderr]                |                            ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:424:42
[INFO] [stderr]                |
[INFO] [stderr]            424 | ...                   self.place(ASTNode::List(List::List(args))),
[INFO] [stderr]                |                            ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:427:33
[INFO] [stderr]                |
[INFO] [stderr]            427 | ...                   assert_token_matches!(self.lexer, Token::RBracket);
[INFO] [stderr]                |                       -------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:430:53
[INFO] [stderr]                |
[INFO] [stderr]            430 | ...                   let compcase = self.parse_placed(0)?;
[INFO] [stderr]                |                                           ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:434:42
[INFO] [stderr]                |
[INFO] [stderr]            434 | ...                   self.place(lhs),
[INFO] [stderr]                |                            ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:435:42
[INFO] [stderr]                |
[INFO] [stderr]            435 | ...                   self.place(ASTNode::Comparison(rhs, comp, compcase)),
[INFO] [stderr]                |                            ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:438:33
[INFO] [stderr]                |
[INFO] [stderr]            438 | ...                   assert_token_matches!(self.lexer, Token::RBracket);
[INFO] [stderr]                |                       -------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:452:32
[INFO] [stderr]                |
[INFO] [stderr]            452 |                     self.lexer.next();
[INFO] [stderr]                |                                ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `serde_json::de::Read`
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:454:32
[INFO] [stderr]                |
[INFO] [stderr]            454 |                 let rhs = self.parse_expr(bp.right)?;
[INFO] [stderr]                |                                ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:456:59
[INFO] [stderr]                |
[INFO] [stderr]            456 |                 lhs = ASTNode::new_simple_binary(op, self.place(lhs), self.place(rhs))?;
[INFO] [stderr]                |                                                           ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:456:76
[INFO] [stderr]                |
[INFO] [stderr]            456 |                 lhs = ASTNode::new_simple_binary(op, self.place(lhs), self.place(rhs))?;
[INFO] [stderr]                |                                                                            ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            warning: relative drop order changing in Rust 2024
[INFO] [stderr]                --> src/graph/expressions.rs:170:19
[INFO] [stderr]                 |
[INFO] [stderr]             170 |             match self.parse_expr(i) {
[INFO] [stderr]                 |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 |                   |
[INFO] [stderr]                 |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stderr]                 |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]             182 |                     self.meta.insert(i, meta);
[INFO] [stderr]                 |                     -------------------------
[INFO] [stderr]                 |                     |
[INFO] [stderr]                 |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stderr]                 |                     `#1` will be dropped later as of Edition 2024
[INFO] [stderr]             183 |                 }
[INFO] [stderr]             184 |                 Err(e) => {
[INFO] [stderr]                 |                     -
[INFO] [stderr]                 |                     |
[INFO] [stderr]                 |                     `e` calls a custom destructor
[INFO] [stderr]                 |                     `e` will be dropped later as of Edition 2024
[INFO] [stderr]            ...
[INFO] [stderr]             188 |         }
[INFO] [stderr]                 |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stderr]                 |
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.75/src/error.rs:586:1
[INFO] [stderr]                 |
[INFO] [stderr]             586 | impl Drop for Error {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stderr]                 |
[INFO] [stderr]            1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stderr]                 |
[INFO] [stderr]            1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stderr]                 |
[INFO] [stderr]            1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stderr]                 |
[INFO] [stderr]            1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#2` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/compact_str-0.8.0/src/repr/mod.rs:722:1
[INFO] [stderr]                 |
[INFO] [stderr]             722 | impl Drop for Repr {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stderr]                 |
[INFO] [stderr]            1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stderr]                 |
[INFO] [stderr]            1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stderr]                 |
[INFO] [stderr]            1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stderr]                 |
[INFO] [stderr]            1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `#1` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/compact_str-0.8.0/src/repr/mod.rs:722:1
[INFO] [stderr]                 |
[INFO] [stderr]             722 | impl Drop for Repr {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: `e` invokes this custom destructor
[INFO] [stderr]                --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.75/src/error.rs:586:1
[INFO] [stderr]                 |
[INFO] [stderr]             586 | impl Drop for Error {
[INFO] [stderr]                 | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                 = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stderr]                 = warning: this changes meaning in Rust 2024
[INFO] [stderr]                 = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stderr]                 = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:35:27
[INFO] [stderr]               |
[INFO] [stderr]            35 |     pub fn split(self) -> (AST, MultiPeek<LexIter<'a, Token>>) {
[INFO] [stderr]               |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'_, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:35:18
[INFO] [stderr]               |
[INFO] [stderr]            35 |     pub fn split(self) -> (AST, MultiPeek<LexIter<'a, Token>>) {
[INFO] [stderr]               |                  ^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'_, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:36:20
[INFO] [stderr]               |
[INFO] [stderr]            36 |         (self.ast, self.lexer)
[INFO] [stderr]               |                    ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'_, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 256 previous errors; 1 warning emitted
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/ast.rs:273:21
[INFO] [stdout]     |
[INFO] [stdout] 273 |             ($bname:expr, $bctx:expr,$($child:expr),+) => {
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]     = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 273 |             ($bname:expr_2021, $bctx:expr,$($child:expr),+) => {
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/ast.rs:273:33
[INFO] [stdout]     |
[INFO] [stdout] 273 |             ($bname:expr, $bctx:expr,$($child:expr),+) => {
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 273 |             ($bname:expr, $bctx:expr_2021,$($child:expr),+) => {
[INFO] [stdout]     |                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/ast.rs:273:47
[INFO] [stdout]     |
[INFO] [stdout] 273 |             ($bname:expr, $bctx:expr,$($child:expr),+) => {
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 273 |             ($bname:expr, $bctx:expr,$($child:expr_2021),+) => {
[INFO] [stdout]     |                                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/ast.rs:282:21
[INFO] [stdout]     |
[INFO] [stdout] 282 |             ($bname:expr, $bctx:expr,$children:expr) => {{
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 282 |             ($bname:expr_2021, $bctx:expr,$children:expr) => {{
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/ast.rs:282:33
[INFO] [stdout]     |
[INFO] [stdout] 282 |             ($bname:expr, $bctx:expr,$children:expr) => {{
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 282 |             ($bname:expr, $bctx:expr_2021,$children:expr) => {{
[INFO] [stdout]     |                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/ast.rs:282:48
[INFO] [stdout]     |
[INFO] [stdout] 282 |             ($bname:expr, $bctx:expr,$children:expr) => {{
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 282 |             ($bname:expr, $bctx:expr,$children:expr_2021) => {{
[INFO] [stdout]     |                                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/compiler/ir.rs:392:21
[INFO] [stdout]     |
[INFO] [stdout] 392 |             ($bname:expr, $bctx:expr,$($child:expr),+) => {
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 392 |             ($bname:expr_2021, $bctx:expr,$($child:expr),+) => {
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/compiler/ir.rs:392:33
[INFO] [stdout]     |
[INFO] [stdout] 392 |             ($bname:expr, $bctx:expr,$($child:expr),+) => {
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 392 |             ($bname:expr, $bctx:expr_2021,$($child:expr),+) => {
[INFO] [stdout]     |                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/compiler/ir.rs:392:47
[INFO] [stdout]     |
[INFO] [stdout] 392 |             ($bname:expr, $bctx:expr,$($child:expr),+) => {
[INFO] [stdout]     |                                               ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 392 |             ($bname:expr, $bctx:expr,$($child:expr_2021),+) => {
[INFO] [stdout]     |                                                   +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/compiler/ir.rs:399:21
[INFO] [stdout]     |
[INFO] [stdout] 399 |             ($bname:expr, $bctx:expr) => {
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 399 |             ($bname:expr_2021, $bctx:expr) => {
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/compiler/ir.rs:399:33
[INFO] [stdout]     |
[INFO] [stdout] 399 |             ($bname:expr, $bctx:expr) => {
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 399 |             ($bname:expr, $bctx:expr_2021) => {
[INFO] [stdout]     |                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/compiler/ir.rs:404:21
[INFO] [stdout]     |
[INFO] [stdout] 404 |             ($bname:expr, $bctx:expr,$children:expr) => {{
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 404 |             ($bname:expr_2021, $bctx:expr,$children:expr) => {{
[INFO] [stdout]     |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/compiler/ir.rs:404:33
[INFO] [stdout]     |
[INFO] [stdout] 404 |             ($bname:expr, $bctx:expr,$children:expr) => {{
[INFO] [stdout]     |                                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 404 |             ($bname:expr, $bctx:expr_2021,$children:expr) => {{
[INFO] [stdout]     |                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/lang/compiler/ir.rs:404:48
[INFO] [stdout]     |
[INFO] [stdout] 404 |             ($bname:expr, $bctx:expr,$children:expr) => {{
[INFO] [stdout]     |                                                ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 404 |             ($bname:expr, $bctx:expr,$children:expr_2021) => {{
[INFO] [stdout]     |                                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]  --> src/util/macros.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ($s:expr, $t:expr) => {{
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ($s:expr_2021, $t:expr) => {{
[INFO] [stdout]   |             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]  --> src/util/macros.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ($s:expr, $t:expr) => {{
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ($s:expr, $t:expr_2021) => {{
[INFO] [stdout]   |                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]  --> src/util/macros.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     ($s:expr, $t:expr, $msg:expr) => {{
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]   |
[INFO] [stdout] 6 |     ($s:expr_2021, $t:expr, $msg:expr) => {{
[INFO] [stdout]   |             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]  --> src/util/macros.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     ($s:expr, $t:expr, $msg:expr) => {{
[INFO] [stdout]   |                  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]   |
[INFO] [stdout] 6 |     ($s:expr, $t:expr_2021, $msg:expr) => {{
[INFO] [stdout]   |                      +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]  --> src/util/macros.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 |     ($s:expr, $t:expr, $msg:expr) => {{
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]   |
[INFO] [stdout] 6 |     ($s:expr, $t:expr, $msg:expr_2021) => {{
[INFO] [stdout]   |                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/util/macros.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ($l:expr, $e:pat) => {{
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ($l:expr_2021, $e:pat) => {{
[INFO] [stdout]    |             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/util/macros.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ($nid:expr, $($msg:tt)+) => {
[INFO] [stdout]    |           ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 27 |     ($nid:expr_2021, $($msg:tt)+) => {
[INFO] [stdout]    |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/graph/expressions.rs:170:19
[INFO] [stdout]      |
[INFO] [stdout]  170 |             match self.parse_expr(i) {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  182 |                     self.meta.insert(i, meta);
[INFO] [stdout]      |                     -------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  183 |                 }
[INFO] [stdout]  184 |                 Err(e) => {
[INFO] [stdout]      |                     -
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `e` calls a custom destructor
[INFO] [stdout]      |                     `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  188 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.75/src/error.rs:586:1
[INFO] [stdout]      |
[INFO] [stdout]  586 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stdout]      |
[INFO] [stdout] 1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stdout]      |
[INFO] [stdout] 1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stdout]      |
[INFO] [stdout] 1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stdout]      |
[INFO] [stdout] 1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/compact_str-0.8.0/src/repr/mod.rs:722:1
[INFO] [stdout]      |
[INFO] [stdout]  722 | impl Drop for Repr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stdout]      |
[INFO] [stdout] 1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stdout]      |
[INFO] [stdout] 1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stdout]      |
[INFO] [stdout] 1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/thin-vec-0.2.13/src/lib.rs:1674:1
[INFO] [stdout]      |
[INFO] [stdout] 1674 | impl<T> Drop for ThinVec<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/compact_str-0.8.0/src/repr/mod.rs:722:1
[INFO] [stdout]      |
[INFO] [stdout]  722 | impl Drop for Repr {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.75/src/error.rs:586:1
[INFO] [stdout]      |
[INFO] [stdout]  586 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/lang/parser.rs:391:64
[INFO] [stdout]     |
[INFO] [stdout] 391 |                     (Opcode::Parens, ASTNode::Val(Value::Ident(ref s))) => {
[INFO] [stdout]     |                                                                ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/lang/parser.rs:391:38
[INFO] [stdout]     |
[INFO] [stdout] 391 |                     (Opcode::Parens, ASTNode::Val(Value::Ident(ref s))) => {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 391 -                     (Opcode::Parens, ASTNode::Val(Value::Ident(ref s))) => {
[INFO] [stdout] 391 +                     (Opcode::Parens, ASTNode::Val(Value::Ident(s))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lang/lexer.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(logos::Logos, Debug, PartialEq, Clone, Copy)]
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lang/lexer.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(logos::Logos, Debug, PartialEq, Clone, Copy)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]   = note: this warning originates in the derive macro `logos::Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(logos::Logos + use<'s>, Debug, PartialEq, Clone, Copy)]
[INFO] [stdout]   |                       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lang/lexer.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(logos::Logos, Debug, PartialEq, Clone, Copy)]
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lang/lexer.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(logos::Logos, Debug, PartialEq, Clone, Copy)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `logos::Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(logos::Logos + use<'s>, Debug, PartialEq, Clone, Copy)]
[INFO] [stdout]   |                       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, Token>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]  --> src/lang/lexer.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(logos::Logos, Debug, PartialEq, Clone, Copy)]
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]  --> src/lang/lexer.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(logos::Logos, Debug, PartialEq, Clone, Copy)]
[INFO] [stdout]   |          ^
[INFO] [stdout]   = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]   = warning: this changes meaning in Rust 2024
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]   = note: this warning originates in the derive macro `logos::Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive(logos::Logos + use<'s>, Debug, PartialEq, Clone, Copy)]
[INFO] [stdout]   |                       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating benches/simplex.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `desmoxide`
[INFO] [stderr]  --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs
[INFO] [stderr]  ::: src/graph/expressions.rs
[INFO] [stderr]  ::: src/lang/ast.rs
[INFO] [stderr]  ::: src/lang/lexer.rs
[INFO] [stderr]  ::: src/lang/parser.rs
[INFO] [stderr]  ::: src/util.rs
[INFO] [stderr]  ::: src/util/macros.rs
[INFO] [stderr]  ::: src/util/multipeek.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]             --> src/lang/lexer.rs:3:23
[INFO] [stderr]              |
[INFO] [stderr]            3 | #[derive(logos::Logos + use<'s>, Debug, PartialEq, Clone, Copy)]
[INFO] [stderr]              |                       ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `logos` in this scope
[INFO] [stderr]             --> src/lang/lexer.rs:5:3
[INFO] [stderr]              |
[INFO] [stderr]            5 | #[logos(skip r"[ \t\n\f]+")]
[INFO] [stderr]              |   ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]              = note: `logos` is in scope, but it is a crate, not an attribute
[INFO] [stderr]            help: `logos` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            6 + #[derive(Logos)]
[INFO] [stderr]            7 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]             --> src/lang/lexer.rs:9:7
[INFO] [stderr]              |
[INFO] [stderr]            9 |     #[regex(r"[0-9]*\.[0-9]+", |lex| {lex.slice().parse().ok()})]
[INFO] [stderr]              |       ^^^^^
[INFO] [stderr]              |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]              |
[INFO] [stderr]            6 + #[derive(Logos)]
[INFO] [stderr]            7 | pub enum Token {
[INFO] [stderr]              |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:13:7
[INFO] [stderr]               |
[INFO] [stderr]            13 |     #[regex(r"\d+", |lex| {lex.slice().parse().ok()})]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:20:7
[INFO] [stderr]               |
[INFO] [stderr]            20 |     #[regex(r"[a-zA-Z](_\{[a-zA-Z0-9]+\})?", priority = 2)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:25:7
[INFO] [stderr]               |
[INFO] [stderr]            25 |     #[token("[")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:27:7
[INFO] [stderr]               |
[INFO] [stderr]            27 |     #[token("]")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:29:7
[INFO] [stderr]               |
[INFO] [stderr]            29 |     #[token("(")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:31:7
[INFO] [stderr]               |
[INFO] [stderr]            31 |     #[token(")")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:33:7
[INFO] [stderr]               |
[INFO] [stderr]            33 |     #[token(r"\{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:34:7
[INFO] [stderr]               |
[INFO] [stderr]            34 |     #[token("{")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:36:7
[INFO] [stderr]               |
[INFO] [stderr]            36 |     #[token("}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:37:7
[INFO] [stderr]               |
[INFO] [stderr]            37 |     #[token(r"\}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:39:7
[INFO] [stderr]               |
[INFO] [stderr]            39 |     #[token(",")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:41:7
[INFO] [stderr]               |
[INFO] [stderr]            41 |     #[token(":")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:43:7
[INFO] [stderr]               |
[INFO] [stderr]            43 |     #[token("_")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:45:7
[INFO] [stderr]               |
[INFO] [stderr]            45 |     #[token("^")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:49:7
[INFO] [stderr]               |
[INFO] [stderr]            49 |     #[token(r"=")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:51:7
[INFO] [stderr]               |
[INFO] [stderr]            51 |     #[token(r"≥")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:52:7
[INFO] [stderr]               |
[INFO] [stderr]            52 |     #[token(r"\ge")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:54:7
[INFO] [stderr]               |
[INFO] [stderr]            54 |     #[token(r"≤")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:55:7
[INFO] [stderr]               |
[INFO] [stderr]            55 |     #[token(r"\le")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:57:7
[INFO] [stderr]               |
[INFO] [stderr]            57 |     #[token(r">")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:58:7
[INFO] [stderr]               |
[INFO] [stderr]            58 |     #[token(r"\gt")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:60:7
[INFO] [stderr]               |
[INFO] [stderr]            60 |     #[token(r"<")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:61:7
[INFO] [stderr]               |
[INFO] [stderr]            61 |     #[token(r"\lt")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:65:7
[INFO] [stderr]               |
[INFO] [stderr]            65 |     #[token(r"\frac")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:67:7
[INFO] [stderr]               |
[INFO] [stderr]            67 |     #[token(r"\div")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:68:7
[INFO] [stderr]               |
[INFO] [stderr]            68 |     #[token("/")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:70:7
[INFO] [stderr]               |
[INFO] [stderr]            70 |     #[regex(r"\++")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:72:7
[INFO] [stderr]               |
[INFO] [stderr]            72 |     #[token("-")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:74:7
[INFO] [stderr]               |
[INFO] [stderr]            74 |     #[token(r"\cdot")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:75:7
[INFO] [stderr]               |
[INFO] [stderr]            75 |     #[token("*")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:77:7
[INFO] [stderr]               |
[INFO] [stderr]            77 |     #[token("...")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:79:7
[INFO] [stderr]               |
[INFO] [stderr]            79 |     #[token(".")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:81:7
[INFO] [stderr]               |
[INFO] [stderr]            81 |     #[token(r"\sqrt")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:83:7
[INFO] [stderr]               |
[INFO] [stderr]            83 |     #[token(r"\sum")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:85:7
[INFO] [stderr]               |
[INFO] [stderr]            85 |     #[token(r"\prod")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:87:7
[INFO] [stderr]               |
[INFO] [stderr]            87 |     #[token(r"\int")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:89:7
[INFO] [stderr]               |
[INFO] [stderr]            89 |     #[regex(r"\\frac\{d\}\{\d[a-zA-Z](_\{[a-zA-Z0-9]+\})?\}", priority = 3)]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:93:7
[INFO] [stderr]               |
[INFO] [stderr]            93 |     #[token(r"\operatorname{random}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:95:7
[INFO] [stderr]               |
[INFO] [stderr]            95 |     #[token(r"\min")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:97:7
[INFO] [stderr]               |
[INFO] [stderr]            97 |     #[token(r"\max")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]              --> src/lang/lexer.rs:99:7
[INFO] [stderr]               |
[INFO] [stderr]            99 |     #[token(r"\operatorname{count}")]
[INFO] [stderr]               |       ^^^^^
[INFO] [stderr]               |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Logos)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:101:7
[INFO] [stderr]                |
[INFO] [stderr]            101 |     #[token(r"\operatorname{total}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:103:7
[INFO] [stderr]                |
[INFO] [stderr]            103 |     #[token(r"\operatorname{length}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:105:7
[INFO] [stderr]                |
[INFO] [stderr]            105 |     #[token(r"\operatorname{join}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:107:7
[INFO] [stderr]                |
[INFO] [stderr]            107 |     #[token(r"\operatorname{sort}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:109:7
[INFO] [stderr]                |
[INFO] [stderr]            109 |     #[token(r"\operatorname{shuffle}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:111:7
[INFO] [stderr]                |
[INFO] [stderr]            111 |     #[token(r"\operatorname{unique}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:113:7
[INFO] [stderr]                |
[INFO] [stderr]            113 |     #[token(r"\operatorname{for}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:115:7
[INFO] [stderr]                |
[INFO] [stderr]            115 |     #[token(r"\sin")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:117:7
[INFO] [stderr]                |
[INFO] [stderr]            117 |     #[token(r"\cos")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:119:7
[INFO] [stderr]                |
[INFO] [stderr]            119 |     #[token(r"\tan")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:121:7
[INFO] [stderr]                |
[INFO] [stderr]            121 |     #[token(r"\csc")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:123:7
[INFO] [stderr]                |
[INFO] [stderr]            123 |     #[token(r"\sec")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:125:7
[INFO] [stderr]                |
[INFO] [stderr]            125 |     #[token(r"\cot")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:127:7
[INFO] [stderr]                |
[INFO] [stderr]            127 |     #[token(r"\sin^{-1}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:129:7
[INFO] [stderr]                |
[INFO] [stderr]            129 |     #[token(r"\cos^{-1}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:131:7
[INFO] [stderr]                |
[INFO] [stderr]            131 |     #[token(r"\tan^{-1}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:133:7
[INFO] [stderr]                |
[INFO] [stderr]            133 |     #[token(r"\csc^{-1}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:135:7
[INFO] [stderr]                |
[INFO] [stderr]            135 |     #[token(r"\sec^{-1}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:137:7
[INFO] [stderr]                |
[INFO] [stderr]            137 |     #[token(r"\cot^{-1}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:139:7
[INFO] [stderr]                |
[INFO] [stderr]            139 |     #[token(r"\operatorname{mod}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:141:7
[INFO] [stderr]                |
[INFO] [stderr]            141 |     #[token(r"\operatorname{floor}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:143:7
[INFO] [stderr]                |
[INFO] [stderr]            143 |     #[token(r"\operatorname{ceil}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:146:7
[INFO] [stderr]                |
[INFO] [stderr]            146 |     #[token(r"\infty")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:148:7
[INFO] [stderr]                |
[INFO] [stderr]            148 |     #[token(r"\left", callback = logos::skip, priority = 10000)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:149:7
[INFO] [stderr]                |
[INFO] [stderr]            149 |     #[token(r"\\left", callback = logos::skip, priority = 10000)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:150:7
[INFO] [stderr]                |
[INFO] [stderr]            150 |     #[token(r"\right", callback = logos::skip, priority = 10000)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lang/lexer.rs:151:7
[INFO] [stderr]                |
[INFO] [stderr]            151 |     #[token(r"\\right", callback = logos::skip, priority = 10000)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Logos)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:18:1
[INFO] [stderr]               |
[INFO] [stderr]            18 | pub struct Parser<'source> {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lexer.rs:15:5
[INFO] [stderr]               |
[INFO] [stderr]            15 |     source: &'source Token::Source,
[INFO] [stderr]               |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'source>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:19:5
[INFO] [stderr]               |
[INFO] [stderr]            19 |     pub lexer: MultiPeek<LexIter<'source, Token>>,
[INFO] [stderr]               |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'source>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:19:16
[INFO] [stderr]               |
[INFO] [stderr]            19 |     pub lexer: MultiPeek<LexIter<'source, Token>>,
[INFO] [stderr]               |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'source, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            note: required by a bound in `MultiPeek`
[INFO] [stderr]              --> src/util/multipeek.rs:5:25
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               |                         ^^^^^^^^ required by this bound in `MultiPeek`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:22:10
[INFO] [stderr]               |
[INFO] [stderr]            22 | impl<'a> Parser<'a> {
[INFO] [stderr]               |          ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:70:70
[INFO] [stderr]               |
[INFO] [stderr]            70 |     pub fn line_lexer(&self, line: ExpressionId) -> Result<MultiPeek<LexIter<'_, Token>>> {
[INFO] [stderr]               |                                                                      ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]              --> src/util.rs:6:27
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:23:21
[INFO] [stderr]               |
[INFO] [stderr]            23 |     pub fn new(lex: MultiPeek<LexIter<'a, Token>>) -> Self {
[INFO] [stderr]               |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]              --> src/util.rs:6:27
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:29:18
[INFO] [stderr]               |
[INFO] [stderr]            29 |     pub fn parse(&mut self) -> Result<()> {
[INFO] [stderr]               |                  ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:35:18
[INFO] [stderr]               |
[INFO] [stderr]            35 |     pub fn split(self) -> (AST, MultiPeek<LexIter<'a, Token>>) {
[INFO] [stderr]               |                  ^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:35:27
[INFO] [stderr]               |
[INFO] [stderr]            35 |     pub fn split(self) -> (AST, MultiPeek<LexIter<'a, Token>>) {
[INFO] [stderr]               |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'a, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            note: required by a bound in `MultiPeek`
[INFO] [stderr]              --> src/util/multipeek.rs:5:25
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               |                         ^^^^^^^^ required by this bound in `MultiPeek`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:39:14
[INFO] [stderr]               |
[INFO] [stderr]            39 |     fn place(&mut self, node: ASTNode) -> ASTNodeId {
[INFO] [stderr]               |              ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:42:24
[INFO] [stderr]               |
[INFO] [stderr]            42 |     fn parse_list_body(&mut self) -> Result<List> {
[INFO] [stderr]               |                        ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:85:28
[INFO] [stderr]               |
[INFO] [stderr]            85 |     fn parse_function_call(&mut self) -> Result<ThinVec<ASTNodeId>> {
[INFO] [stderr]               |                            ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:90:22
[INFO] [stderr]               |
[INFO] [stderr]            90 |     fn parse_fn_call(&mut self, vars: ThinVec<ASTNodeId>) -> Result<ThinVec<ASTNodeId>> {
[INFO] [stderr]               |                      ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:95:9
[INFO] [stderr]               |
[INFO] [stderr]            95 |         &mut self,
[INFO] [stderr]               |         ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:139:25
[INFO] [stderr]                |
[INFO] [stderr]            139 |     pub fn parse_placed(&mut self, min_bp: u8) -> Result<ASTNodeId> {
[INFO] [stderr]                |                         ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:144:23
[INFO] [stderr]                |
[INFO] [stderr]            144 |     pub fn parse_expr(&mut self, min_binding_power: u8) -> Result<ASTNode> {
[INFO] [stderr]                |                       ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `Token` in the current scope
[INFO] [stderr]              --> src/graph/expressions.rs:71:47
[INFO] [stderr]               |
[INFO] [stderr]            71 |         Ok(MultiPeek::new(LexIter::new(Token::lexer(
[INFO] [stderr]               |                                               ^^^^^ variant, associated function, or constant not found in `Token`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | -------------- variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]               |
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                       candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:72:13
[INFO] [stderr]               |
[INFO] [stderr]            72 | /             self.storage
[INFO] [stderr]            73 | |                 .borrow()
[INFO] [stderr]            74 | |                 .get(&line)
[INFO] [stderr]            75 | |                 .context(format!("line with ID {} not found!", *line))?,
[INFO] [stderr]               | |_______________________________________________________________________^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]              --> src/util.rs:6:27
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:71:27
[INFO] [stderr]               |
[INFO] [stderr]            71 |         Ok(MultiPeek::new(LexIter::new(Token::lexer(
[INFO] [stderr]               |                           ^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]              --> src/util.rs:6:27
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:71:40
[INFO] [stderr]               |
[INFO] [stderr]            71 |           Ok(MultiPeek::new(LexIter::new(Token::lexer(
[INFO] [stderr]               |  ___________________________------------_^
[INFO] [stderr]               | |                           |
[INFO] [stderr]               | |                           required by a bound introduced by this call
[INFO] [stderr]            72 | |             self.storage
[INFO] [stderr]            73 | |                 .borrow()
[INFO] [stderr]            74 | |                 .get(&line)
[INFO] [stderr]            75 | |                 .context(format!("line with ID {} not found!", *line))?,
[INFO] [stderr]            76 | |         ))))
[INFO] [stderr]               | |_________^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter::<'a, T>::new`
[INFO] [stderr]              --> src/util.rs:9:13
[INFO] [stderr]               |
[INFO] [stderr]             9 | impl<'a, T: Logos<'a>> LexIter<'a, T> {
[INFO] [stderr]               |             ^^^^^^^^^ required by this bound in `LexIter::<'a, T>::new`
[INFO] [stderr]            10 |     pub fn new(lexer: Lexer<'a, T>) -> Self {
[INFO] [stderr]               |            --- required by a bound in this associated function
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:71:12
[INFO] [stderr]               |
[INFO] [stderr]            71 |           Ok(MultiPeek::new(LexIter::new(Token::lexer(
[INFO] [stderr]               |  ____________^
[INFO] [stderr]            72 | |             self.storage
[INFO] [stderr]            73 | |                 .borrow()
[INFO] [stderr]            74 | |                 .get(&line)
[INFO] [stderr]            75 | |                 .context(format!("line with ID {} not found!", *line))?,
[INFO] [stderr]            76 | |         ))))
[INFO] [stderr]               | |___________^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'_, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:71:27
[INFO] [stderr]               |
[INFO] [stderr]            71 |           Ok(MultiPeek::new(LexIter::new(Token::lexer(
[INFO] [stderr]               |  ____________--------------_^
[INFO] [stderr]               | |            |
[INFO] [stderr]               | |            required by a bound introduced by this call
[INFO] [stderr]            72 | |             self.storage
[INFO] [stderr]            73 | |                 .borrow()
[INFO] [stderr]            74 | |                 .get(&line)
[INFO] [stderr]            75 | |                 .context(format!("line with ID {} not found!", *line))?,
[INFO] [stderr]            76 | |         ))))
[INFO] [stderr]               | |__________^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'_, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]               = note: required for `LexIter<'_, Token>` to implement `IntoIterator`
[INFO] [stderr]            note: required by a bound in `MultiPeek::<T>::new`
[INFO] [stderr]              --> src/util/multipeek.rs:11:19
[INFO] [stderr]               |
[INFO] [stderr]            11 |     pub fn new<U: IntoIterator<IntoIter = T, Item = T::Item>>(val: U) -> Self {
[INFO] [stderr]               |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `MultiPeek::<T>::new`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/graph/expressions.rs:71:12
[INFO] [stderr]               |
[INFO] [stderr]            71 |         Ok(MultiPeek::new(LexIter::new(Token::lexer(
[INFO] [stderr]               |            ^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'_, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            note: required by a bound in `MultiPeek`
[INFO] [stderr]              --> src/util/multipeek.rs:5:25
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               |                         ^^^^^^^^ required by this bound in `MultiPeek`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:193:30
[INFO] [stderr]                |
[INFO] [stderr]            193 |         let mut lexer = self.line_lexer(idx)?;
[INFO] [stderr]                |                              ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:193:25
[INFO] [stderr]                |
[INFO] [stderr]            193 |         let mut lexer = self.line_lexer(idx)?;
[INFO] [stderr]                |                         ^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:193:25
[INFO] [stderr]                |
[INFO] [stderr]            193 |         let mut lexer = self.line_lexer(idx)?;
[INFO] [stderr]                |                         ^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `multipeek_res` exists for struct `MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:194:28
[INFO] [stderr]                |
[INFO] [stderr]            194 |         let first = *lexer.multipeek_res()?;
[INFO] [stderr]                |                            ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `multipeek_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `LexIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `multipeek_res` exists for struct `MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:197:41
[INFO] [stderr]                |
[INFO] [stderr]            197 |             Token::Ident => match lexer.multipeek_res() {
[INFO] [stderr]                |                                         ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `multipeek_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `LexIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:202:31
[INFO] [stderr]                |
[INFO] [stderr]            202 |                         match lexer.borrow_mut().multipeek_res()? {
[INFO] [stderr]                |                               ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `multipeek_res` exists for mutable reference `&mut MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:202:50
[INFO] [stderr]                |
[INFO] [stderr]            202 |                         match lexer.borrow_mut().multipeek_res()? {
[INFO] [stderr]                |                                                  ^^^^^^^^^^^^^ method cannot be called on `&mut MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `LexIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:206:36
[INFO] [stderr]                |
[INFO] [stderr]            206 | ...                   if lexer.borrow_mut().multipeek().is_none() {
[INFO] [stderr]                |                          ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `multipeek` exists for mutable reference `&mut MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:206:55
[INFO] [stderr]                |
[INFO] [stderr]            206 | ...                   if lexer.borrow_mut().multipeek().is_none() {
[INFO] [stderr]                |                                             ^^^^^^^^^ method cannot be called on `&mut MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `LexIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `multipeek`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `IteratorExt`
[INFO] [stderr]                        candidate #2: `itertools::Itertools`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:209:33
[INFO] [stderr]                |
[INFO] [stderr]            209 | ...                   lexer.borrow_mut().catch_up();
[INFO] [stderr]                |                       ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `catch_up` exists for mutable reference `&mut MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:209:52
[INFO] [stderr]                |
[INFO] [stderr]            209 | ...                   lexer.borrow_mut().catch_up();
[INFO] [stderr]                |                                          ^^^^^^^^ method cannot be called on `&mut MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `LexIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:210:46
[INFO] [stderr]                |
[INFO] [stderr]            210 | ...                   let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                    ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:210:58
[INFO] [stderr]                |
[INFO] [stderr]            210 | ...                   let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                                ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:210:46
[INFO] [stderr]                |
[INFO] [stderr]            210 | ...                   let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                    ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:211:36
[INFO] [stderr]                |
[INFO] [stderr]            211 | ...                   pm.parse()?;
[INFO] [stderr]                |                          ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:225:21
[INFO] [stderr]                |
[INFO] [stderr]            225 |                     lexer.borrow_mut().catch_up();
[INFO] [stderr]                |                     ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `catch_up` exists for mutable reference `&mut MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:225:40
[INFO] [stderr]                |
[INFO] [stderr]            225 |                     lexer.borrow_mut().catch_up();
[INFO] [stderr]                |                                        ^^^^^^^^ method cannot be called on `&mut MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'_>`
[INFO] [stderr]                        which is required by `LexIter<'_, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:226:34
[INFO] [stderr]                |
[INFO] [stderr]            226 |                     let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                  ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:226:46
[INFO] [stderr]                |
[INFO] [stderr]            226 |                     let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                              ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:226:34
[INFO] [stderr]                |
[INFO] [stderr]            226 |                     let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:227:24
[INFO] [stderr]                |
[INFO] [stderr]            227 |                     pm.parse()?;
[INFO] [stderr]                |                        ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:242:26
[INFO] [stderr]                |
[INFO] [stderr]            242 |             let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                          ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:242:38
[INFO] [stderr]                |
[INFO] [stderr]            242 |             let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:242:26
[INFO] [stderr]                |
[INFO] [stderr]            242 |             let mut pm = Parser::new(lexer);
[INFO] [stderr]                |                          ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:244:16
[INFO] [stderr]                |
[INFO] [stderr]            244 |             pm.parse()?;
[INFO] [stderr]                |                ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:246:37
[INFO] [stderr]                |
[INFO] [stderr]            246 |             let (lhs, mut lex) = pm.split();
[INFO] [stderr]                |                                     ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'_, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:248:23
[INFO] [stderr]                |
[INFO] [stderr]            248 |             match lex.next() {
[INFO] [stderr]                |                       ^^^^ method cannot be called on `MultiPeek<LexIter<'_, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'_, Token>: Iterator` or `LexIter<'_, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'_, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'_, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'_, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                        candidate #3: `serde_json::de::Read`
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:250:34
[INFO] [stderr]                |
[INFO] [stderr]            250 |                     let mut pm = Parser::new(lex);
[INFO] [stderr]                |                                  ^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:250:46
[INFO] [stderr]                |
[INFO] [stderr]            250 |                     let mut pm = Parser::new(lex);
[INFO] [stderr]                |                                              ^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `LexIter`
[INFO] [stderr]               --> src/util.rs:6:27
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                |                           ^^^^^^^^^ required by this bound in `LexIter`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:250:34
[INFO] [stderr]                |
[INFO] [stderr]            250 |                     let mut pm = Parser::new(lex);
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/graph/expressions.rs:251:24
[INFO] [stderr]                |
[INFO] [stderr]            251 |                     pm.parse()?;
[INFO] [stderr]                |                        ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/graph/expressions.rs:266:43
[INFO] [stderr]                |
[INFO] [stderr]            266 | ...                   bad_token!(n, t, "determining expression type")
[INFO] [stderr]                |                                     ^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/macros.rs:7:34
[INFO] [stderr]                |
[INFO] [stderr]              7 |         anyhow::bail!("bad token {:?} at {:?}: {}", $t, $s, $msg)
[INFO] [stderr]                |                                  ---- required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                = note: this error originates in the macro `$crate::__export::format_args` which comes from the expansion of the macro `bad_token` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Debug)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/lang/ast.rs:77:66
[INFO] [stderr]               |
[INFO] [stderr]            77 |                 t => bail!("token {:?} is not a simple builtin", t),
[INFO] [stderr]               |                                   ----                           ^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]               |                                   |
[INFO] [stderr]               |                                   required by this formatting parameter
[INFO] [stderr]               |
[INFO] [stderr]               = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               = note: this error originates in the macro `$crate::__export::format_args` which comes from the expansion of the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Debug)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]              --> src/lang/ast.rs:87:74
[INFO] [stderr]               |
[INFO] [stderr]            87 |                 t => bail!("token {:?} does not autojoin its arguments", t),
[INFO] [stderr]               |                                   ----                                   ^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]               |                                   |
[INFO] [stderr]               |                                   required by this formatting parameter
[INFO] [stderr]               |
[INFO] [stderr]               = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]               = note: this error originates in the macro `$crate::__export::format_args` which comes from the expansion of the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 + #[derive(Debug)]
[INFO] [stderr]             7 | pub enum Token {
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `Token` doesn't implement `Debug`
[INFO] [stderr]               --> src/lang/lexer.rs:217:62
[INFO] [stderr]                |
[INFO] [stderr]            217 |                 t => bail!("token {:?} is not a comparison", t),
[INFO] [stderr]                |                                   ----                       ^ `Token` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                   |
[INFO] [stderr]                |                                   required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `Token`
[INFO] [stderr]                = note: required for `&Token` to implement `Debug`
[INFO] [stderr]                = note: this error originates in the macro `$crate::__export::format_args` which comes from the expansion of the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider annotating `Token` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]              6 + #[derive(Debug)]
[INFO] [stderr]              7 | pub enum Token {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'a>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:24:9
[INFO] [stderr]               |
[INFO] [stderr]            24 |         Self {
[INFO] [stderr]               |         ^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'a>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:25:20
[INFO] [stderr]               |
[INFO] [stderr]            25 |             lexer: lex,
[INFO] [stderr]               |                    ^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            note: required for `LexIter<'a, Token>` to implement `Iterator`
[INFO] [stderr]              --> src/util.rs:14:13
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             ^^^^^^^^     ^^^^^^^^^^^^^^
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        --------- unsatisfied trait bound introduced here
[INFO] [stderr]            note: required by a bound in `MultiPeek`
[INFO] [stderr]              --> src/util/multipeek.rs:5:25
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               |                         ^^^^^^^^ required by this bound in `MultiPeek`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:30:25
[INFO] [stderr]               |
[INFO] [stderr]            30 |         let root = self.parse_expr(0)?;
[INFO] [stderr]               |                         ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:43:37
[INFO] [stderr]               |
[INFO] [stderr]            43 |         let next_token = self.lexer.peek_next().context("unexpected EOF")?;
[INFO] [stderr]               |                                     ^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `peek_next` not found for this struct
[INFO] [stderr]               |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]              --> src/util.rs:16:8
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             --------     --------------
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:46:24
[INFO] [stderr]               |
[INFO] [stderr]            46 |             self.lexer.discard()?;
[INFO] [stderr]               |                        ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]               |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]              --> src/util.rs:16:8
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             --------     --------------
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `Token: Logos<'a>`
[INFO] [stderr]                       which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]               = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]               |
[INFO] [stderr]             1 + use crate::util::Discard;
[INFO] [stderr]               |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:50:32
[INFO] [stderr]               |
[INFO] [stderr]            50 |         let first_scope = self.parse_expr(0)?;
[INFO] [stderr]               |                                ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:51:37
[INFO] [stderr]               |
[INFO] [stderr]            51 |         let next_token = self.lexer.peek_next().context("unexpected EOF")?;
[INFO] [stderr]               |                                     ^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `peek_next` not found for this struct
[INFO] [stderr]               |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]              --> src/util.rs:16:8
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             --------     --------------
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/util/macros.rs:13:26
[INFO] [stderr]               |
[INFO] [stderr]            13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]               |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/parser.rs:54:13
[INFO] [stderr]               |
[INFO] [stderr]            54 |             assert_token_matches!(self.lexer, Token::RBracket);
[INFO] [stderr]               |             -------------------------------------------------- in this macro invocation
[INFO] [stderr]               |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]              --> src/util/multipeek.rs:63:6
[INFO] [stderr]               |
[INFO] [stderr]            63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]               |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]               |      |  |
[INFO] [stderr]               |      |  unsatisfied trait bound introduced here
[INFO] [stderr]               |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                       candidate #1: `Iterator`
[INFO] [stderr]                       candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                       candidate #3: `serde_json::de::Read`
[INFO] [stderr]               = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]              --> src/util/multipeek.rs:63:8
[INFO] [stderr]               |
[INFO] [stderr]            63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]               |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:58:24
[INFO] [stderr]               |
[INFO] [stderr]            58 |         vars.push(self.place(first_scope));
[INFO] [stderr]               |                        ^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:62:38
[INFO] [stderr]               |
[INFO] [stderr]            62 |                     match self.lexer.next_res()? {
[INFO] [stderr]               |                                      ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]               |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]              --> src/util.rs:16:8
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             --------     --------------
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:71:36
[INFO] [stderr]               |
[INFO] [stderr]            71 |                     vars.push(self.parse_placed(0)?);
[INFO] [stderr]               |                                    ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/util/macros.rs:13:26
[INFO] [stderr]               |
[INFO] [stderr]            13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]               |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/parser.rs:77:17
[INFO] [stderr]               |
[INFO] [stderr]            77 |                 assert_token_matches!(self.lexer, Token::RBracket);
[INFO] [stderr]               |                 -------------------------------------------------- in this macro invocation
[INFO] [stderr]               |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]              --> src/util/multipeek.rs:63:6
[INFO] [stderr]               |
[INFO] [stderr]            63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]               |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]               |      |  |
[INFO] [stderr]               |      |  unsatisfied trait bound introduced here
[INFO] [stderr]               |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                       candidate #1: `Iterator`
[INFO] [stderr]                       candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                       candidate #3: `serde_json::de::Read`
[INFO] [stderr]               = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]              --> src/util/multipeek.rs:63:8
[INFO] [stderr]               |
[INFO] [stderr]            63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]               |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/util/macros.rs:13:26
[INFO] [stderr]               |
[INFO] [stderr]            13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]               |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/parser.rs:86:9
[INFO] [stderr]               |
[INFO] [stderr]            86 |         assert_token_matches!(self.lexer, Token::LParen);
[INFO] [stderr]               |         ------------------------------------------------ in this macro invocation
[INFO] [stderr]               |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]              --> src/util/multipeek.rs:63:6
[INFO] [stderr]               |
[INFO] [stderr]            63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]               |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]               |      |  |
[INFO] [stderr]               |      |  unsatisfied trait bound introduced here
[INFO] [stderr]               |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]              --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]               = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]               = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                       candidate #1: `Iterator`
[INFO] [stderr]                       candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                       candidate #3: `serde_json::de::Read`
[INFO] [stderr]               = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]              --> src/util/multipeek.rs:63:8
[INFO] [stderr]               |
[INFO] [stderr]            63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]               |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:87:14
[INFO] [stderr]               |
[INFO] [stderr]            87 |         self.parse_fn_call(ThinVec::with_capacity(5))
[INFO] [stderr]               |              ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:91:14
[INFO] [stderr]               |
[INFO] [stderr]            91 |         self.parse_values(vars, Token::RParen)
[INFO] [stderr]               |              ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]               |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]              --> src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]              --> src/lang/parser.rs:99:37
[INFO] [stderr]               |
[INFO] [stderr]            99 |         let next_token = self.lexer.peek_next().context("unexpected EOF")?;
[INFO] [stderr]               |                                     ^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/lang/lexer.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub enum Token {
[INFO] [stderr]               | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util.rs:6:1
[INFO] [stderr]               |
[INFO] [stderr]             6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]               | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]               |
[INFO] [stderr]              ::: src/util/multipeek.rs:5:1
[INFO] [stderr]               |
[INFO] [stderr]             5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]               | --------------------------------- method `peek_next` not found for this struct
[INFO] [stderr]               |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]              --> src/util.rs:16:8
[INFO] [stderr]               |
[INFO] [stderr]            14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]               |             --------     --------------
[INFO] [stderr]            15 | where
[INFO] [stderr]            16 |     T: Logos<'a>,
[INFO] [stderr]               |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]               = note: the following trait bounds were not satisfied:
[INFO] [stderr]                       `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]              --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]               |
[INFO] [stderr]            44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]               | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:102:24
[INFO] [stderr]                |
[INFO] [stderr]            102 |             self.lexer.discard()?;
[INFO] [stderr]                |                        ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]                        which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]                |
[INFO] [stderr]              1 + use crate::util::Discard;
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:106:32
[INFO] [stderr]                |
[INFO] [stderr]            106 |         let first_scope = self.parse_expr(0)?;
[INFO] [stderr]                |                                ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:107:37
[INFO] [stderr]                |
[INFO] [stderr]            107 |         let next_token = self.lexer.peek_next().context("unexpected EOF")?;
[INFO] [stderr]                |                                     ^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:119:38
[INFO] [stderr]                |
[INFO] [stderr]            119 |                     match self.lexer.next_res()? {
[INFO] [stderr]                |                                      ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:128:36
[INFO] [stderr]                |
[INFO] [stderr]            128 |                     vars.push(self.parse_placed(0)?)
[INFO] [stderr]                |                                    ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:140:22
[INFO] [stderr]                |
[INFO] [stderr]            140 |         let s = self.parse_expr(min_bp)?;
[INFO] [stderr]                |                      ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:141:17
[INFO] [stderr]                |
[INFO] [stderr]            141 |         Ok(self.place(s))
[INFO] [stderr]                |                 ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:146:31
[INFO] [stderr]                |
[INFO] [stderr]            146 |         let next = self.lexer.next_res()?;
[INFO] [stderr]                |                               ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:156:37
[INFO] [stderr]                |
[INFO] [stderr]            156 |                 ASTNode::Unary(self.parse_placed(*Opcode::Neg.prefix_bp()?)?, UnaryOp::Neg)
[INFO] [stderr]                |                                     ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:159:31
[INFO] [stderr]                |
[INFO] [stderr]            159 |                 if self.lexer.peek_next_res()?.1 == Token::RGroup {
[INFO] [stderr]                |                               ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `discard` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:160:32
[INFO] [stderr]                |
[INFO] [stderr]            160 |                     self.lexer.discard()?;
[INFO] [stderr]                |                                ^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `discard` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]                        which is required by `LexIter<'a, Token>: Sized`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                = help: items from traits can only be used if the trait is in scope
[INFO] [stderr]            help: trait `Discard` which provides `discard` is implemented but not in scope; perhaps you want to import it
[INFO] [stderr]                |
[INFO] [stderr]              1 + use crate::util::Discard;
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:164:37
[INFO] [stderr]                |
[INFO] [stderr]            164 |                     let left = self.parse_expr(0)?;
[INFO] [stderr]                |                                     ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:165:40
[INFO] [stderr]                |
[INFO] [stderr]            165 |                     let n = self.lexer.next_res()?;
[INFO] [stderr]                |                                        ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:170:38
[INFO] [stderr]                |
[INFO] [stderr]            170 |                     let right = self.parse_expr(0)?;
[INFO] [stderr]                |                                      ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:171:21
[INFO] [stderr]                |
[INFO] [stderr]            171 |                     assert_token_matches!(self.lexer, Token::Colon);
[INFO] [stderr]                |                     ----------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                        candidate #3: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:172:39
[INFO] [stderr]                |
[INFO] [stderr]            172 |                     let result = self.parse_expr(0)?;
[INFO] [stderr]                |                                       ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:174:30
[INFO] [stderr]                |
[INFO] [stderr]            174 |                         self.place(left),
[INFO] [stderr]                |                              ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:176:30
[INFO] [stderr]                |
[INFO] [stderr]            176 |                         self.place(right),
[INFO] [stderr]                |                              ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:179:36
[INFO] [stderr]                |
[INFO] [stderr]            179 |                         comp: self.place(n),
[INFO] [stderr]                |                                    ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:180:38
[INFO] [stderr]                |
[INFO] [stderr]            180 |                         result: self.place(result),
[INFO] [stderr]                |                                      ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:183:42
[INFO] [stderr]                |
[INFO] [stderr]            183 |                         match self.lexer.next_res()?.1 {
[INFO] [stderr]                |                                          ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:185:46
[INFO] [stderr]                |
[INFO] [stderr]            185 | ...                   let s = self.parse_placed(0)?;
[INFO] [stderr]                |                                    ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:186:50
[INFO] [stderr]                |
[INFO] [stderr]            186 | ...                   match self.lexer.peek_next_res()?.1 {
[INFO] [stderr]                |                                        ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:194:58
[INFO] [stderr]                |
[INFO] [stderr]            194 | ...                   let right = self.parse_expr(0)?;
[INFO] [stderr]                |                                        ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:196:59
[INFO] [stderr]                |
[INFO] [stderr]            196 | ...                   if self.lexer.peek_next_res()?.1 == Token::Comma {
[INFO] [stderr]                |                                     ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:199:54
[INFO] [stderr]                |
[INFO] [stderr]            199 | ...                   self.parse_expr(0)?
[INFO] [stderr]                |                            ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:204:50
[INFO] [stderr]                |
[INFO] [stderr]            204 | ...                   self.place(right),
[INFO] [stderr]                |                            ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:207:56
[INFO] [stderr]                |
[INFO] [stderr]            207 | ...                   comp: self.place(comp),
[INFO] [stderr]                |                                  ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:208:58
[INFO] [stderr]                |
[INFO] [stderr]            208 | ...                   result: self.place(result),
[INFO] [stderr]                |                                    ^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:221:32
[INFO] [stderr]                |
[INFO] [stderr]            221 |                 let ret = self.parse_expr(0)?;
[INFO] [stderr]                |                                ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:222:17
[INFO] [stderr]                |
[INFO] [stderr]            222 |                 assert_token_matches!(self.lexer, Token::RParen);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                        candidate #3: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:227:17
[INFO] [stderr]                |
[INFO] [stderr]            227 |                 assert_token_matches!(self.lexer, Token::LGroup);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                        candidate #3: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:228:38
[INFO] [stderr]                |
[INFO] [stderr]            228 |                 let numerator = self.parse_placed(0)?;
[INFO] [stderr]                |                                      ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:229:17
[INFO] [stderr]                |
[INFO] [stderr]            229 |                 assert_token_matches!(self.lexer, Token::RGroup);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                        candidate #3: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:230:17
[INFO] [stderr]                |
[INFO] [stderr]            230 |                 assert_token_matches!(self.lexer, Token::LGroup);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                        candidate #3: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:231:40
[INFO] [stderr]                |
[INFO] [stderr]            231 |                 let denominator = self.parse_placed(0)?;
[INFO] [stderr]                |                                        ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:232:17
[INFO] [stderr]                |
[INFO] [stderr]            232 |                 assert_token_matches!(self.lexer, Token::RGroup);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                        candidate #3: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:236:34
[INFO] [stderr]                |
[INFO] [stderr]            236 |                 match self.lexer.next_res()? {
[INFO] [stderr]                |                                  ^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:239:38
[INFO] [stderr]                |
[INFO] [stderr]            239 |                         let n = self.parse_placed(0)?;
[INFO] [stderr]                |                                      ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:240:25
[INFO] [stderr]                |
[INFO] [stderr]            240 |                         assert_token_matches!(self.lexer, Token::RBracket);
[INFO] [stderr]                |                         -------------------------------------------------- in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                        candidate #3: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:241:25
[INFO] [stderr]                |
[INFO] [stderr]            241 |                         assert_token_matches!(self.lexer, Token::LGroup);
[INFO] [stderr]                |                         ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                        candidate #3: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:242:41
[INFO] [stderr]                |
[INFO] [stderr]            242 |                         let base = self.parse_placed(0)?;
[INFO] [stderr]                |                                         ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:243:25
[INFO] [stderr]                |
[INFO] [stderr]            243 |                         assert_token_matches!(self.lexer, Token::RGroup);
[INFO] [stderr]                |                         ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                        candidate #3: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:248:41
[INFO] [stderr]                |
[INFO] [stderr]            248 |                         let base = self.parse_placed(0)?;
[INFO] [stderr]                |                                         ^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:249:25
[INFO] [stderr]                |
[INFO] [stderr]            249 |                         assert_token_matches!(self.lexer, Token::RGroup);
[INFO] [stderr]                |                         ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                        candidate #3: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:255:51
[INFO] [stderr]                |
[INFO] [stderr]            255 |             Token::LBracket => ASTNode::List(self.parse_list_body()?).into(),
[INFO] [stderr]                |                                                   ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `Token`
[INFO] [stderr]               --> src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | ^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `next` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/util/macros.rs:13:26
[INFO] [stderr]                |
[INFO] [stderr]             13 |         let __token = $l.next().context("unexpected EOF")?;
[INFO] [stderr]                |                          ^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator` or `LexIter<'a, Token>: Sized`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `next` not found for this struct because it doesn't satisfy `MultiPeek<LexIter<'a, Token>>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/parser.rs:257:17
[INFO] [stderr]                |
[INFO] [stderr]            257 |                 assert_token_matches!(self.lexer, Token::LParen);
[INFO] [stderr]                |                 ------------------------------------------------ in this macro invocation
[INFO] [stderr]                |
[INFO] [stderr]            note: the following trait bounds were not satisfied:
[INFO] [stderr]                  `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                  `LexIter<'a, Token>: Sized`
[INFO] [stderr]               --> src/util/multipeek.rs:63:6
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |      ^  ^^^^^^^^  --------     ------------
[INFO] [stderr]                |      |  |
[INFO] [stderr]                |      |  unsatisfied trait bound introduced here
[INFO] [stderr]                |      unsatisfied trait bound introduced here
[INFO] [stderr]            note: the traits `Iterator` and `Sized` must be implemented
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/marker.rs:158:0
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/iter/traits/iterator.rs:42:0
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following traits define an item `next`, perhaps you need to implement one of them:
[INFO] [stderr]                        candidate #1: `Iterator`
[INFO] [stderr]                        candidate #2: `plotters::prelude::DiscreteRanged`
[INFO] [stderr]                        candidate #3: `serde_json::de::Read`
[INFO] [stderr]                = note: this error originates in the macro `assert_token_matches` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr]            help: consider relaxing the type parameter's implicit `Sized` bound
[INFO] [stderr]               --> src/util/multipeek.rs:63:8
[INFO] [stderr]                |
[INFO] [stderr]             63 | impl<T: ?Sized + Iterator> Iterator for MultiPeek<T> {
[INFO] [stderr]                |         ++++++++
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `peek_next_res` exists for struct `MultiPeek<LexIter<'a, Token>>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:258:31
[INFO] [stderr]                |
[INFO] [stderr]            258 |                 if self.lexer.peek_next_res()?.1 == Token::RParen {
[INFO] [stderr]                |                               ^^^^^^^^^^^^^ method cannot be called on `MultiPeek<LexIter<'a, Token>>` due to unsatisfied trait bounds
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lang/lexer.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub enum Token {
[INFO] [stderr]                | -------------- doesn't satisfy `Token: Logos<'_>` or `Token: Logos<'a>`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util.rs:6:1
[INFO] [stderr]                |
[INFO] [stderr]              6 | pub struct LexIter<'a, T: Logos<'a>> {
[INFO] [stderr]                | ------------------------------------ doesn't satisfy `LexIter<'a, Token>: Iterator`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/util/multipeek.rs:5:1
[INFO] [stderr]                |
[INFO] [stderr]              5 | pub struct MultiPeek<T: Iterator> {
[INFO] [stderr]                | --------------------------------- method `peek_next_res` not found for this struct
[INFO] [stderr]                |
[INFO] [stderr]            note: trait bound `Token: Logos<'_>` was not satisfied
[INFO] [stderr]               --> src/util.rs:16:8
[INFO] [stderr]                |
[INFO] [stderr]             14 | impl<'a, T> Iterator for LexIter<'a, T>
[INFO] [stderr]                |             --------     --------------
[INFO] [stderr]             15 | where
[INFO] [stderr]             16 |     T: Logos<'a>,
[INFO] [stderr]                |        ^^^^^^^^^ unsatisfied trait bound introduced here
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `Token: Logos<'a>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.14.0/src/lib.rs:44:1
[INFO] [stderr]                |
[INFO] [stderr]             44 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `Token: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lang/parser.rs:262:33
[WARN] too many lines in the log, truncating it
